zoukankan      html  css  js  c++  java
  • .net core 中的[FromBody]

    一、针对.net core中post类型的api注意的地方(前提是Controller上加[ApiController]特性)。默认是这个。

    1、如果客户端Content-Type是application/json,  api接口如果是用单个对象做参数的时候,加或者不加[FromBody]都可以正常解析参数,但是接口是用对象列表做参数时候,则必须加[FromBody],否则读取不到参数。

    2、如果客户端Content-Type不是application/json,api接口必须加[FromForm],否则客户端调用接口会报400错误。

    3、如果加上[FromBody],客户端Content-Type不是application/json,接口会报400错误。

    二、Controller上不加[ApiController]特性),当application/json类型的时,读取的参数将全为空,而非application/json却可以正常解析,无论怎么客户端不会抛出400异常。

    写两段测试代码Controller上加[ApiController]特性

         [HttpPost("PostList")]
            public void PostList([FromBody]List<Person> person)
            {
                List<Person> personObj = person;
            }
    
    
            [HttpPost("PostSingle")]
            public void PostSingle(Person person)
            {
                Person personObj = person;
            }

    综合上述,客户端如果是提交json数据时候建议都加上[FromBody]。

    如果客户端提交的数据Content-Type如果不为application/json时,会报错,如果要解决报错,需要在接口上加上[FromForm]。

  • 相关阅读:
    hdu 4324(dfs)
    hdu 2376(求树上任意两点之间距离之和的平均值)
    hdu 3665(最短路)
    hdu 4463(最小生成树变形)
    hdu 2242(边双连通分量)
    hdu 2682(最小生成树)
    hdu 2444(二分图的判断以及求最大匹配)
    陶哲轩实分析命题6.4.12
    陶哲轩实分析习题8.3.4
    CantorBernsteinSchroeder定理的证明
  • 原文地址:https://www.cnblogs.com/KQNLL/p/10322143.html
Copyright © 2011-2022 走看看