¿Cómo puedo enviar una serie de cadenas del cliente al servidor de jersey? Mi método de servidor se ve así:
@POST @Produces(MediaType.APPLICATION_JSON) public ArrayList<User> createUpdateUser(@NotNull @BeanParam User user) { siteDao.addUser(user); Collection<User> l = siteDao.listSites(); ArrayList<User> al = new ArrayList<User>(l); return al; }El objeto de usuario contiene la matriz de cadenas; consulte a continuación.
Mi método de cliente de Java Script (dentro de mi index.html) para preparar el objeto de usuario para enviarlo al servidor se ve así:
function getFormUserDetails() { var user = { servingDates: ['jan','feb'] } return user; }Mi llamada ajax al servidor se ve así:
$(document).ready(() => { $('#addUserButtonId').on('click touchstart', (event) => { var user = getFormUserDetails(); $.ajax({ url: "http://localhost:8080/remote-loader/App/User/", type: 'POST', data: user, }).done((data, textStatus, xhr) => { // some code here }).fail((jqXhr, textStatus, errorThrown) => { console.log( errorThrown ); }).always(() => { }); }); }); Mi clase User se ve así:
public class User /* implements Serializable */ { @FormParam("servingDates") private List<String> servingDates = new ArrayList<String>(); public List<String> getServingDates() { return servingDates; } public void setServingDates(List<String> servingDates) { this.servingDates = servingDates; } }El problema al que me enfrento es que el objeto de usuario cuando Jersey llama al método createUpdateUser contiene una matriz de fechas de servicio vacía.