基于请求参数的内容协商原理
上面通过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.
#上面自带的