Error de Spring @RequestParameter no es una cadena.
Tengo un error interno del servidor con la anotación @RequestParam
, y a continuación se muestra el error:
2021-11-19 19:09:46.012 ERROR 68100 --- [nio-8080-exec-3] app.gym.v1.Resource.UserControl : El parámetro de solicitud requerido 'isNonLocked' para el tipo de parámetro String no está presente
2021-11-19 19:09:46.014 WARN 68100 --- [nio-8080-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Resuelto [org.springframework.web.bind.MissingServletRequestParameterException: El parámetro de solicitud requerido 'isNonLocked' para el tipo de parámetro String no está presente]
Este es el código del recurso que proporciona la respuesta de API para ese parámetro:
java
@PutMapping("/update")
public ResponseEntity<User> update(@RequestParam("currentUsername") String currentUsername,
@RequestParam("username") String username,
@RequestParam("email") String email,
@RequestParam("role") String role,
@RequestParam("isActive") String isActive,
@RequestParam("isNonLocked") String isNonLocked) throws UserNotFoundException, UsernameExistException, EmailExistException, IOException {
User updatedUser = userService.updateUser(currentUsername, username,email, role, Boolean.parseBoolean(isNonLocked), Boolean.parseBoolean(isActive));
return new ResponseEntity<>(updatedUser, OK);
}
El problema se encuentra en el parámetro isNonLocked
, el cual se esperaba que fuera una cadena, pero estaba siendo analizado correctamente de booleano a cadena. Por lo tanto, no sé cuál es el problema.
davy.ai
Parece que el problema está en la anotación
@RequestParam
para el parámetroisNonLocked
. Espera un tipoString
, pero lo estás analizando de un tipoboolean
. Debe asegurarte de que el parámetro se esté pasando como un tipoString
en la solicitud.