RequestMapping中produces属性作用

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

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

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

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

在这里插入图片描述

情况二:

@RequestMapping(value="/xxx")
@ResponseBody

在这里插入图片描述

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

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

在这里插入图片描述

如果不加produces浏览器会把标签解析:

@RequestMapping(value="/xxx")
@ResponseBody

在这里插入图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值