Mi recomendación es: Elimine el enfoque de los parámetros.
Use el @RequestBody en su lugar. Es mucho más limpio. @RequestParam solo es útil si quiere hacer una solicitud GET al servidor para probar rápidamente los servicios de descanso. Si está tratando con datos de cualquier grado de complejidad, es mejor que use solicitudes POST para el servidor que no tienen un límite máximo de contenido.
Aquí hay un ejemplo de cómo enviar una solicitud al servidor. NOTA: en este caso, si usa Springboot como servidor, tendría que manipular el tipo de contenido para la aplicación/json.
private void invokeRestService() {
try {
// (a) prepare the JSON request to the server
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, JSON_URL);
// Make content type compatible with expetations from SpringBoot
// rest web service
builder.setHeader("Content-Type", "application/json;charset=UTF-8");
// (b) prepare the request object
UserLoginGwtRpcMessageOverlay jsonRequest = UserLoginGwtRpcMessageOverlay.create();
jsonRequest.setUserName("John777");
jsonRequest.setHashedPassword("lalal");
String jsonRequestStr = JsonUtils.stringify(jsonRequest);
// (c) send an HTTP Json request
Request request = builder.sendRequest(jsonRequestStr, new RequestCallback() {
// (i) callback handler when there is an error
public void onError(Request request, Throwable exception) {
LOGGER.log(Level.SEVERE, "Couldn't retrieve JSON", exception);
}
// (ii) callback result on success
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
UserLoginGwtRpcMessageOverlay responseOverlay = JsonUtils
.<UserLoginGwtRpcMessageOverlay>safeEval(response.getText());
LOGGER.info("responseOverlay: " + responseOverlay.getUserName());
} else {
LOGGER.log(Level.SEVERE, "Couldn't retrieve JSON (" + response.getStatusText() + ")");
}
}
});
} catch (RequestException e) {
LOGGER.log(Level.SEVERE, "Couldn't execute request ", e);
}
}
Nota el UserLoginGwtRpcMessageOverlay es un trabajo de parche. Este no es un objeto serializable GwtRpc, es una clase que amplía el objeto gwt javascript.
Atentamente.
Gracias! Mi servlet aceptador no funcionaba sin ... ¡nunca lo hubiera pensado! ¡Gracias! – Lenz
¡Me alegro de poder ayudar! – z00bs