当前位置: 首页 > news >正文

asp.net Core MVC 内容协商

内容协商

内容协商是Asp.Net Core 控制器的一项功能,而Asp.Net MVC5 控制器并不支持它。

引入内容协商是为了满足 Web API 框架的需要。 在 Asp.net Core 中,内容协商 被内置到引擎中,供开发人员使用。

顾名思义,内容协商指的是调用方和API之间悄悄发生的协商。 协商会考虑返回数据的实际格式。

如果传入的请求包含一个Accept头,说明了调用方可以理解的MIME,那么就要考虑内容协商。

Asp.net Core 中的默认行为是将任何返回对象序列化为Json。

[HttpGet]
public ObjectResult Get(Guid id)
{var n=fun(xx);return Ok(n);
}

如果控制器检测到Accept头,那么就会扫描头内容中列出的类型,直到找到自己可以提供的格式。这种扫描遵循的是 MIME 类型出现的顺序。如果没有找到控制器能够支持的类型,就使用Json格式

注意》》》
如果传入的请求包含 Accept头,并且控制器返回的响应是 ObjectResult类型,则会触发内容协商。
如果序列化控制器的响应(例如使用了Json方法)那么不管是不是发送了 Accept 头。都不会发生内容协商。

http://www.lryc.cn/news/459964.html

相关文章:

  • 智能EDA小白从0开始 —— DAY10 Yosys
  • 《OpenCV计算机视觉》—— 人脸检测
  • 【unity框架开发12】从零手搓unity存档存储数据持久化系统,实现对存档的创建,获取,保存,加载,删除,缓存,加密,支持多存档
  • YOLOv11进行图像与视频的目标检测
  • SpinalHDL之错误集(一)
  • 【arcgis】ArcGIS中如何避免标注压盖要素
  • 数通--3
  • SpringBoot基础(五):集成JUnit5
  • 正点原子学习笔记之汇编LED驱动实验
  • 网络学习第二篇
  • 一些小结汇总
  • 20240720 科大讯飞 笔试
  • 【AIGC】寻找ChatGPT最佳推理步骤:CoT思维链技术的探索与应用
  • 一、安装VMWARE和CentOS
  • 岩石分类检测数据集 4700张 岩石检测 带标注 voc yolo 9类
  • 电脑基础知识:mfc110.dll丢失的解决方法
  • Lua 协同程序(coroutine)
  • NASA:ARCTAS 区域的二级 FIRSTLOOK 气溶胶产品子集。 它包含气溶胶光学深度和粒子类型,以及相关的大气数据
  • go clean command
  • 鸿蒙NEXT开发-动画(基于最新api12稳定版)
  • HTML 入门
  • 前端面试题(十五)
  • 如何成为 Rust 核心贡献者?Rust 开发的核​​心是什么?Rust 重要技术专家揭秘
  • springboot + nacos + sofarpc 整合后报错403
  • 小米路由器R3Gv2安装openwrt记录
  • 记录一下,android studio 登录不上github的问题
  • springcloud之基于github webhook动态刷新服务配置
  • qt+opengl 实现纹理贴图,平移旋转,绘制三角形,方形
  • 【动态规划】子数组系列(下)
  • macos mendeley Unable to install the Microsoft Word Plugin 解决