.net core webapi接收不到ajax传过来的实体类_C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解...

本文详细介绍了ASP.NET Core WebAPI中接口的返回值类型,包括void、IHttpActionResult、HttpResponseMessage以及自定义类型。通过示例展示了Json、Ok、NotFound等方法的使用,并探讨了何时选择合适的返回值类型。
摘要由CSDN通过智能技术生成

正文

作为程序猿,我们都知道参数和返回值是编程领域不可分割的两大块,此前分享了下WebApi的传参机制,今天再来看看WebApi里面另一个重要而又基础的知识点:返回值。还是那句话:本篇针对初初使用WebApi的同学们,比较基础,有兴趣的且看看。

使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型

  • void无返回值

  • IHttpActionResult

  • HttpResponseMessage

  • 自定义类型

此篇就围绕这四块分别来看看它们的使用。

一:viod无返回值

void关键字我们都不陌生,它申明方法没有返回值。它的使用也很简单,我们来看一个示例就能明白。

   public class ORDER
{ public string ID { get; set; }public string NO { get; set; }public string NAME { get; set; }public string DESC { get; set; }
}


   public class OrderController : ApiController
{
[HttpPost]public void SaveOrder(ORDER name)
{ //处理业务逻辑
}
}

在Web里面调用

$(function () {
$.ajax({
type: 'post',
url: 'http://localhost:21528/api/Order/SaveOrder',
data: { ID: "aaa", NAME: "test" },
success: function (data, status) {
alert(data);
}
});
});

得到结果 2d6d7c563ed1553a34d8c5403d5bc08e.gif

 可以看到,使用void申明的方法,在success方法里面得不到返回值,并且会返回http状态码204,告诉客户端此请求没有返回值。

二、IHttpActionResult

IHttpActionResult类型是WebApi里面非常重要的一种返回值类型。下面博主就根据平时在项目里面使用最多的几种方式来讲解下这种类型的返回值的一些用法。

1、Json(T content)

使用MVC开发过的朋友一定记得,在MVC里面,请求数据的接口的返回值类型大部分使用的是JsonResult,在MVC里面你一定也写过类似这样的接口:

     public JsonResult GetResult()
{ return Json(new { }, JsonRequestBehavior.AllowGet);
}

那么,在WebAPI里面是否也存在类似的用法呢。呵呵,在这点上面,微软总是贴心的。在WebApi的ApiController这个抽象类里面,为我们封装了Json(T content)这个方法,它的用法和MVC里面的JsonResult基本类似。我们通过一个例子来说明它的用法:

     [HttpGet]public IHttpActionResult GetOrder()
{ var lstRes = new List(); //实际项目中,通过后台取到集合赋值给lstRes变量。这里只是测试。
lstRes.Add(new ORDER() { ID = "aaaa", NO = "111", NAME = "111", DESC = "1111" });
lstRes.Add(new ORDER() { ID = "bbbb", NO = "222", NAME = "222", DESC = "2222" });return Json>(lstRes);
}

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值