webapi的post和get请求总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tiana0/article/details/64538715

1、get请求,传输基础类型数据

[HttpGet]
public string GetTestData(int id,string name)
{
    return id+name;
}
$.ajax({
        type:"get",
        url:"http://xxxx/api/Test/GetTestData",
        data: { id: 1, name:"lili"},
        success:function(data, status) { }
}); 

2、get请求,传递实体数据

public class TestModel
{
    public string ID {get;set; }
    public string Name {get;set; }
}
[HttpGet]
public string GetTestDataByModel([FromUri]TestModel testModel)
{
     return testModel.ID+testModel.Name;
}
$.ajax({
        type:"get",
        url:"http://xxx/api/Test/GetTestDataByModel",
        data: { ID:"1", Name:"lili"},
        success:function(data, status) { }
}); 

3、post请求,传递基础类型参数

$.ajax({
        type:"post",
        url:"http://xxx/api/Test/PostTestData",
        data: {"":"lili"},
        success:function(data, status) {}
    });

注意:不能使用 data: {“name”:”lili”}。因为FromBody的机制是=value,没有key的概念。

[HttpPost]
public bool PostTestData([FromBody]string name)
{
   return true;
}

4、post请求,传递实体类型参数

[HttpPost]
public bool PostTestDataModel(TestModel testModel)
{
    return true;
}
public class TestModel
{
    public string ID {get;set; }
    public string Name {get;set; }
}
$.ajax({
       type:"post",
       url:"http://xxx/api/Test/PostTestDataModel",
       data: { ID:"1", Name:"lili"},
       success:function(data, status) {}
   });

或者

var postdata = { ID:"1", Name:"lili"};
$.ajax({
    type:"post",
    url:"http://xxx/api/Test/PostTestDataModel",
    contentType:'application/json',
    data: JSON.stringify(postdata),
    success:function(data, status) {}
});

若是没定义接口的实体类,可以使用类型dynamic。

5、post,传递基础类型数组

var arr = ["1","2","3","4"];
$.ajax({
       type:"post",
       url:"http://xxx/api/Test/PostTestDataArray",
       contentType:'application/json',
       data: JSON.stringify(arr),
       success:function(data, status) { }
   });
[HttpPost]
public bool PostTestDataArray(string[] ids)
{
     return true;
}

6、post,传递实体集合

var arr = [
       { ID:"1", Name:"l1"},
       { ID:"2", Name:"l2"},
       { ID:"3", Name:"l3"}
   ];
   $.ajax({
       type:"post",
       url:"http://xxx/api/Test/PostTestDataList",
       contentType:'application/json',
       data: JSON.stringify(arr),
       success:function(data, status) {}
   });
[HttpPost]
public bool PostTestDataList(List<TestModel> mList)
{
   return true;
}

补充:许多场景可以通过使用dynamic和json来传递和接收对象以达到简化问题的效果。

猜你喜欢

转载自blog.csdn.net/tiana0/article/details/64538715
今日推荐