当前位置: 代码迷 >> 综合 >> SpringBoot 动态设置响应头的content-type
  详细解决方案

SpringBoot 动态设置响应头的content-type

热度:17   发布时间:2024-01-19 06:56:42.0

需求: 当你想要即能返回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 typeheaders.add(HttpHeaders.CONTENT_TYPE,MediaType.APPLICATION_JSON_VALUE);return new ResponseEntity<Object>("这里是你的响应体Object类和其子类都行",headers,HttpStatus.OK);}

另提一句, springboot也是能根据 @requestMapping里的consumes参数设置, 来区分调用哪个函数, 即便value是一样的

  相关解决方案