需求: 当你想要即能返回application/json又能返回application/xml 的时候
基本上设置content-type通用的做法就是@requestMapping里的produces参数设置MediaType
根据这篇文章,我还以为已经没有办法动态设置content-type了,直到我在StackOverflow里看到了ResponseEntity
然后根据它官网上的api, 用以下方法解决了
@PostMapping(value = "/test")
public ResponseEntity<Object> test() {
HttpHeaders headers = new HttpHeaders();
//根据自己的需要动态添加你想要的content type
headers.add(HttpHeaders.CONTENT_TYPE,MediaType.APPLICATION_JSON_VALUE);
return new ResponseEntity<Object>("这里是你的响应体Object类和其子类都行",headers,HttpStatus.OK);
}
另提一句, springboot也是能根据 @requestMapping里的consumes参数设置, 来区分调用哪个函数, 即便value是一样的