P8 写代码:内容协商 修改默认的格式 运行程序再试试 结束

对第七章讲的部分,进行编码。

在默认情况下,webApi只用json作为输入和输出的格式化器

返回的数据还是json

返回的类型是json

上面的headers才是我们请求的,下面的headers是我们请求的。

把接收的类型改成xml,发送请求,后端返回的还是xml

正常情况不支持的格式应该是要返回406状态码的。但是.net core默认不支持,需要我们手动的配置一下 
这里默认是false。就是当我请求服务端json格式的时候,如果服务端默认的就是xml格式,而且仅仅支持xml格式,那么它就会把xml格式返回回去。并且不会返回406状态码。所以默认值就是false


之类我们把这个值改成True。如果请求的类型和服务器所支持的类型不一致的情况下,就会返回406状态码



响应的header。这是针对这种问题的一种处理方法。

另外一种方法就是让他也支持xml格式。默认集合里面已经有json格式了。这里再把xml也添加进去。


默认是json的


在勾线xml格式


返回的类型也变成xml了


就是把集合的顺序调整一下,我们使用Insert方法再第0个位置加上xml格式

没有勾选,默认返回了xml格式  

响应的还是xml。所以说顺序决定了默认的格式。

对应的还有input的Formatters类型。实际上这是core 3.0之前的写法。

在.net core 3.0后有一个简单的写法。这个方法就会添加xml格式化器。应该是输入和输出的都会添加。

这样就可以用这种简单的方法了

运行程序再试试



勾选去掉。默认的还是json格式



如果写了一个不支持的header类型。随便乱写的一个格式

结束