C# WebApi 接口传参详解

2019-12-30 19:52:13于丽

post请求的基础类型的参数和get请求有点不一样,我们知道get请求的参数是通过url来传递的,而post请求则是通过http的请求体中传过来的,WebApi的post请求也需要从http的请求体里面去取参数。

(1)错误的写法


$.ajax({
    type: "post",
    url: "http://www.easck.com/>

(2)正确的用法


$.ajax({
    type: "post",
    url: "http://www.easck.com//localhost:27221/api/Charging/SaveData",
    data: { "": "Jim","":"备注" },
    success: function (data, status) {}
  });

 [HttpPost]
    public bool SaveData([FromBody]string NAME, [FromBody] string DES)
    {
      return true;
    }

得到结果

C#,WebApi,接口,传参

C#,WebApi,接口,传参

这说明我们没办法通过多个[FromBody]里面取值,此法失败。

(2)正确用法

既然上面的办法行不通,那我们如何传递多个基础类型的数据呢?很多的解决办法是新建一个类去包含传递的参数,博主觉得这样不够灵活,因为如果我们前后台每次传递多个参数的post请求都去新建一个类的话,我们系统到时候会有多少个这种参数类?维护起来那是相当的麻烦的一件事!所以博主觉得使用dynamic是一个很不错的选择。我们来试试。