Есть ли способ сделать опции аннотации @RequestBody (например, required = false) такими, как поддерживает RequestParam?
Короче, я не верю, но вы можете сделать это вручную из потока ввода:
@Autowired
private MappingJacksonHttpMessageConverter mappingJacksonHttpMessageConverter;
RestResponse<String> updateViewingCard(@PathVariable(value = "custome") String customer,
@RequestParam(value = "p1", required = false) String p1,
@RequestParam(value = "p2", required = false) String p2,
// @RequestBody MyPayloadType payload, Can't make this optional
HttpServletRequest request,
HttpServletResponse response) throws... {
MyPayloadType payload = null;
if (0 < request.getContentLength()) {
payload = this.mappingJacksonHttpMessageConverter.getObjectMapper().readValue(request.getInputStream(),
MyPayloadType.class);
}