网站建设 长安镇,类似于美团的网站开发,与wordpress集成软件,wordpress欢迎页面模板下载向Web API传递参数数据可以通过多种方式来传给API。 Binding Source Attributes 会告诉 Model 的绑定引擎从哪里找到绑定源。 共有以下六种 Binding Source Attributes#xff1a; [FromBody] 请求的 Body [FromForm] 请求的 Body 中的 form数据 [FromHeader] 请求的 Header [… 向Web API传递参数数据可以通过多种方式来传给API。 Binding Source Attributes 会告诉 Model 的绑定引擎从哪里找到绑定源。 共有以下六种 Binding Source Attributes [FromBody] 请求的 Body [FromForm] 请求的 Body 中的 form数据 [FromHeader] 请求的 Header [FromQuery] Query string 参数 [FromRoute] 当前请求中的路由数据 [FromService] 作为 Action 参数而注入的服务 例如 或: 默认情况下ASP.NET Core 会使用 Complex Object Model Binder它会把数据从Value Providers那里提取出来而Value Providers的顺序是定义好的。 但是我们构建API时通常会使用 [ApiController] 这个属性为了更好的适应API它改变了上面的规则。更改后的规则如下 [FromBody] 通常是用来推断复杂类型参数的。 [FromForm] 通常用来推断IFormFile和IFormFileCollection类型的Action参数。 [FromRoute] 用来推断Action的参数名和路由模板中的参数名一致的情况。 [FromQuery] 用来推断其它的Action参数。 按照这些规则在Action的参数前面使用这些属性就可以避免让我们手动去寻找绑定源。当默认的行为规则需要被重写的时候也可以使用这些 Binding Source Attributes。 过滤过滤集合的意思就是指根据条件限定返回的集合。 例如我想返回所有类型为国有企业的欧洲公司。则URI为GET /api/companies?typeState-ownedregionEurope 所以过滤就是指我们把某个字段的名字以及想要让该字段匹配的值一起传递给API并将这些作为返回的集合的一部分。 搜索 针对集合进行搜索是指根据预定义的一些规则把符合条件的数据添加到集合里面。 搜索实际上超出了过滤的范围。针对搜索通常不会把要匹配的字段名传递过去通常会把要搜索的值传递给API然后API自行决定应该对哪些字段来查找该值。经常会是全文搜索。 例如GET /api/companies?qxxx 过滤 vs 搜索 可以看出来过滤和搜索是不同的。 过滤首先是一个完整的集合然后根据条件把匹配/不匹配的数据项移除。 搜索首先是一个空的集合然后根据条件把匹配/不匹配的数据项往里面添加。 但需要注意的是 过滤和搜索这些参数并不是资源的一部分。 只允许针对资源的字段进行过滤。 该系列配套视频请点击原文链接。