zoukankan      html  css  js  c++  java
  • 如何给API传递数据

    数据可以通过多种方式来传给API。

    Bindingsource Attributes会告诉Model的绑定引擎从哪里找到绑定值。

    Bindingsource Attributes:

    1.[FromBody] 请求的Body

    2.[FromForm] 请求的Body中的form数据

    3.[FromHeader] 请求的Header

    4.[FromQuery] Query string参数   

     eg:public async Task<ActionResult<Student>> GetStudent([FromQuery]Guid id){}

    5.[From Route] 当前请求中的路由数据 

     eg:public async Task<ActionResult<Student>> GetStudent([FromRoute]Guid id){}

    6.[FromService] 作为Action参数而注入的服务

    [ApiController]

    默认情况下ASP.NET Core 会使用Complex Object Model Binder,它会把数据从Value Providers哪里提取出来,而Value Providers的顺序是定义好的。

    但是我们构建API是通常会使用[ApiController]这个属性,为了更好的适应API她改变了上面的规则。

    [ApiController]更改后的规则

    1.[FromBody] 通常是用来推断复杂类型参数的(比如使用json传递一个对象,这个对象里面有若干个属性时)

    2.[FromForm] 通常用来判断IFormFile和IFormFilecollection类型的Action参数(上传文件)

    3.[From Route] 用来推断Action的参数名和路由模板中的参数名一致的情况。

    4.[FromQuery] 用来推断其他的Action参数。(除了上面三种之外的其他情况)。

  • 相关阅读:
    后CIO人如何规划职业生涯
    数据库设计三大范式应用实例剖析
    一个女孩从软件测试工程师到主管的成长
    一本适合测试初学者阅读的中文译著
    再看微软团队文化
    阳光的测试工作历程(转载)
    hdu 2795
    hdu 2426
    hdu 2255+hdu 3395
    hdu 3729
  • 原文地址:https://www.cnblogs.com/yourSixUncle/p/12170162.html
Copyright © 2011-2022 走看看