解决方案是在 RequestBody 批注中简单地将 required = false 放入
。之后,我可以轻松添加一些逻辑以引发自定义异常并在ControllerAdvice中对其进行处理。
@RequestMapping(value = {"register"}, method = RequestMethod.POST, produces = "application/hal+json")public Resource<User> registerClient(@RequestBody(required = false) User user, HttpServletRequest request){ logger.debug("addClient() requested from {}; registration of user ({})", getClientIp(request), user); if(user == null){ throw new BadRequestException() .setErrorCode(ErrorCode.USER_IS_NULL.toString()) .setErrorMessage("Wrong body or no body in reqest"); } (...)


