SpringBoot---web-->>基于请求参数的内容协商

本文介绍了SpringBoot中如何基于请求参数进行内容协商,以适应不同数据格式(如JSON, XML)的需求。通过分析源码,揭示了SpringBoot如何在请求头和请求参数中查找合适的响应数据类型,并详细解释了内容协商的过程,包括参数设置、内容协商管理器的工作原理,以及最终确定请求数据格式的步骤。" 125290545,9844068,Vue.js路由传参详解,"['vue.js', '前端开发', '路由']
摘要由CSDN通过智能技术生成

基于请求参数的内容协商原理

上面通过postman可以把数据又变成json,但是总有一个情况是又要json,又要xml,又要别的。这时不可能打开好几个软件发请求。

在上面的不设置就用,就是基于请求头转换结果数据。就也可以基于请求参数转换指定参数值的结果数据类型

结合之前的学习内容,上面的请求一路执行到找请求里面的accept内容【确定请求接受的转换类型】时,会有一个resolveMediaTypes方法,在这个方法里有这么一句

这一句就是那请求头里面的accept内容。基于请求头内容协商

String[] headerValueArray = request.getHeaderValues(HttpHeaders.ACCEPT);

在SpringBoot地层提供了一个配置项,他就是管理能不能通过参数的方式设置请求响应结果类型,默认是false关闭的。

在刚学springboot时就知道,可以用注解使类中的属性和配置文件中的指定前缀的配置绑定。所以我们点进去就会发现,这是一个set方法。

spring:
 mvc:
  contentnegotiation:
   favor-parameter: true
   
set方法
public void setFavorParameter(boolean favorParameter) {
            this.favorParameter = favorParameter;
        }
favorParameter值
#Whether a request parameter ("format" by default) should be used to determine the requested media type.
#上面自带的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值