webapi的post和get请求总结

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来传递和接收对象以达到简化问题的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值