Spring MVC中如何设置应答体的content type
来源:互联网 发布:淘宝店铺运营技巧论坛 编辑:程序博客网 时间:2024/06/07 03:38
原文地址:http://blog.csdn.net/wuyou1336/article/details/54917138
spring MVC中如何设置应答体的 content type 呢?
我们知道response 的content type主要有:
text/html,text/plain,application/json;charset=UTF-8,application/octet-stream等
先举一个例子,spring mvc中可以通过如下方式返回json字符串:
@ResponseBody@RequestMapping(value = "/upload")public String upload(HttpServletRequest request, HttpServletResponse response,String contentType2)throws IOException {String content = null;Map map = new HashMap();ObjectMapper mapper = new ObjectMapper();map.put("fileName", "a.txt");try {content = mapper.writeValueAsString(map);System.out.println(content);} catch (JsonGenerationException e) {e.printStackTrace();} catch (JsonMappingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return content;}
虽然访问时返回的确实是json字符串,但是response 的content type是"text/html。但这不是我们期望的,我们期望的response content type是"application/json"或者"application/json;charset=UTF-8",那么如何实现呢?
通过注解@RequestMapping 中的 produces
用法如下:
@RequestMapping(value = "/upload",produces="application/json;charset=UTF-8")
spring MVC官方文档:
Producible Media Types
You can narrow the primary mapping by specifying a list of producible media types. The request will be matched only if the Accept request header matches one of these values. Furthermore, use of the produces condition ensures the actual content type used to generate the response respects the media types specified in the produces condition. For example:
@Controller@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")@ResponseBodypublic Pet getPet(@PathVariable String petId, Model model) { // implementation omitted}
Just like with consumes , producible media type expressions can be negated as in !text/plain to match to all requests other than those with an Accept header value of text/plain .
TipThe produces condition is supported on the type and on the method level. Unlike most other conditions, when used at the type level, method-level producible types override rather than extend type-level producible types.
- Spring MVC中如何设置应答体的content type
- spring mvc设置应答体的content type
- Spring mvc 单个@RequestMapping返回特定Content-Type的配置
- php中利用header设置content-type和常见文件类型的content-type
- php中利用header设置content-type和常见文件类型的content-type
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Tomcat内存参数设置
- linux shell常用命令小结
- Qt获取音频设备信息
- 《App Store 审核指南》中文版本发布
- 苹果官方提供的灰度发布机制
- Spring MVC中如何设置应答体的content type
- 不要让你的 App 成为耗电大户
- iOS 10.3.3 更新背后的故事
- 711 的成功之道
- poj-2602-Superlong sums
- 我理解的 ICO
- 直接插入排序
- 使用 CocoaPods 给微信集成 SDK 打印收发消息
- 因为加班,谈了7年的女友跟我分手了 | 扎心广告,无数上班族泪目...