我使用Spring boot 1.5.8.RELEASE
我有一个端点,想要使用多个MediaType。
特别是application/x-www-form-urlencoded
和application/json
类型。
目前我有以下代码。它适用于application/x-www-form-urlencoded
,但不适用于application/json
。
@RequestMapping(path = "/abc", method = RequestMethod.POST,
consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_FORM_URLENCODED_VALUE},
produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(value = HttpStatus.OK)
public ResponseEntity<MyResponse> validate(@Valid @ModelAttribute MyDetails details) {
return something();
}
我尝试在我的配置中添加内容协商器,但仍然无法正常工作。
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false)
.defaultContentType(MediaType.APPLICATION_JSON)
.mediaType("x-www-form-urlencoded", MediaType.APPLICATION_FORM_URLENCODED);
}
如何允许端点接受这两种媒体类型?