首页 > 其他 > 详细

P8 写代码:内容协商

时间:2020-03-22 00:23:58      阅读:91      评论:0      收藏:0      [点我收藏+]

对第七章讲的部分,进行编码。
技术分享图片
在默认情况下,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类型。随便乱写的一个格式
技术分享图片

结束

 

P8 写代码:内容协商

原文:https://www.cnblogs.com/wangjunwei/p/12543255.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!