RequestMapping中produces属性作用


注解RequestMapping中produces属性可以设置返回数据的类型以及编码,可以是json或者xml:


   
   
  
  
  1. @RequestMapping(value="/xxx",produces = {"application/json;charset=UTF-8"})
  2. @RequestMapping(value="/xxx",produces = {"application/xml;charset=UTF-8"})

但是必须要和@ResponseBody注解一起使用才可以,不加@ResponseBody注解相当于按照和返回String同名jsp页面解析自然就会报错。如果返过来,不加produces属性,只有@ResponseBody注解的话也是没有问题的,只是在浏览器中直接访问的时候有区别:
情况一:


   
   
  
  
  1. @RequestMapping(value="/xxx",produces = {"application/json;charset=UTF-8"})
  2. @ResponseBody

RequestMapping中produces属性作用
情况二:


   
   
  
  
  1. @RequestMapping(value="/xxx")
  2. @ResponseBody

RequestMapping中produces属性作用
区别很明显,第一种显示比较好看,当然这种接口不是这样用的,在调试阶段比较适合。
如果是xml格式也是浏览器显示有区别:


   
   
  
  
  1. @RequestMapping(value="/xxx",produces = {"application/xml;charset=UTF-8"})
  2. @ResponseBody

RequestMapping中produces属性作用
如果不加produces浏览器会把标签解析:


   
   
  
  
  1. @RequestMapping(value="/xxx")
  2. @ResponseBody

RequestMapping中produces属性作用
总的来说produces有两个好处:一个是浏览器查看方便(json自动格式化,带搜索),另一个可以防止中文乱码。

原文地址:https://blog.csdn.net/bingguang1993/article/details/82253639


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM