Вы можете добавить HttpServletRequest
в список аргументов метода обработчика, проверить его и вернуть ReponseEntity.badRequest().build()
, если есть несколько вхождений одних и тех же параметров.
@GetMapping
public ResponseEntity handlerMethod(HttpServletRequest request) {
if (request.getParameterValues("name").length > 1) {
return ResponseEntity.badRequest().build();
}
return ResponseEntity.ok().build();
}
Если вы хотите сделать это для всего приложения, вы можете определить фильтр:
@Component
class DuplicateRequestParameterFilter extends OncePerRequestFilter {
Enumeration<String> parameters = request.getHeaderNames();
while (parameters.hasMoreElements()) {
if (request.getParameterValues(parameters.nextElement()).length > 1) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
}
}
filterChain.doFilter(request, response);
}