如何实现【ASP.NET Core】MVC中一个API方法同时支持JSON和Form-data数据绑定?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4815个文字,预计阅读时间需要20分钟。
在上一篇文章中,老周给大伙儿详细介绍了MVC模型及其绑定。今天,我们来细化一下,先聊聊模型绑定中涉及的一些组件对象。
在上一篇文章中,老周给大伙伴们大致说了下 MVC 下的模型绑定,今天咱们进行一下细化,先聊聊模型绑定中涉及到的一些组件对象。
------------------------------------------------------------------------------
一、ValueProvider——提取绑定源的值首先登场的小帅哥是 ValueProvider,即实现IValueProvider 接口。
public interface IValueProvider { bool ContainsPrefix(string prefix); ValueProviderResult GetValue(string key); }
提取绑定源的值在操作上类似字典对象的访问,通过一个指定的 key 来检索。这个主要针对数据结构类似字典的数据源,比如
1、HTTP Header,它的结构就是 name: value;
2、Form 对象,比如 HTML 页上的<form>元素,或者客户端直接提交的 form-data,当然包括用 JQuery 等方式提交的 form;
3、Route Value,也就是路由参数。比如咱们在写MVC时很熟悉的那个 {controller}/{action},若访问的是 Home/Index,那么这里面就是两个数据项。
本文共计4815个文字,预计阅读时间需要20分钟。
在上一篇文章中,老周给大伙儿详细介绍了MVC模型及其绑定。今天,我们来细化一下,先聊聊模型绑定中涉及的一些组件对象。
在上一篇文章中,老周给大伙伴们大致说了下 MVC 下的模型绑定,今天咱们进行一下细化,先聊聊模型绑定中涉及到的一些组件对象。
------------------------------------------------------------------------------
一、ValueProvider——提取绑定源的值首先登场的小帅哥是 ValueProvider,即实现IValueProvider 接口。
public interface IValueProvider { bool ContainsPrefix(string prefix); ValueProviderResult GetValue(string key); }
提取绑定源的值在操作上类似字典对象的访问,通过一个指定的 key 来检索。这个主要针对数据结构类似字典的数据源,比如
1、HTTP Header,它的结构就是 name: value;
2、Form 对象,比如 HTML 页上的<form>元素,或者客户端直接提交的 form-data,当然包括用 JQuery 等方式提交的 form;
3、Route Value,也就是路由参数。比如咱们在写MVC时很熟悉的那个 {controller}/{action},若访问的是 Home/Index,那么这里面就是两个数据项。

