WebApi之接口返回值的四种类型
ASP.NETCore2.2WebApi系列【八】统一返回格式(返回值、模型验证、异常)

Core2.2WebApi系列【八】统一返回格式(返回值、模型验证、异常)现阶段,基本上都是前后端分离项目,这样一来,就需要前后端配合,没有统一返回格式,那么对接起来会很麻烦,浪费时间。
我们需要把所有接口及异常错误信息都返回一定的Json格式,有利于前端处理,从而提高了工作效率。
一、准备工作定义响应实体类///<summary>///响应实体类///</summary>public class ResultModel{///<summary>///状态码///</summary>public int ReturnCode { get; set; }///<summary>///内容///</summary>public object Data { get; set; }///<summary>///错误信息///</summary>public string ErrorMessage { get; set; }///<summary>///是否成功///</summary>public bool IsSuccess { get; set; }}修改Controller层在controller层处理业务请求,new 一个ResultModel 对象,返回给前端。
///<summary>///查询用户///</summary>///<returns></returns>[Route("getUser")][HttpGet]public ResultModel GetUser(){var data = _userRepository.GetAll().ToList();return new ResultModel() { Data = data, ErrorMessage = null, IsSuccess = true, ReturnCode = 200 };}这样需要每个方法都需要重新new一个ResultModel 对象,感觉有点代码冗余。
WebApi接口返回值类型详解(转)

WebApi接⼝返回值类型详解(转)使⽤过Webapi的园友应该都知道,Webapi的接⼝返回值主要有四种类型void⽆返回值IHttpActionResultHttpResponseMessage⾃定义类型此篇就围绕这四块分别来看看它们的使⽤。
⼀、void⽆返回值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);}});});得到结果可以看到,使⽤void申明的⽅法,在success⽅法⾥⾯得不到返回值,并且会返回http状态码204,告诉客户端此请求没有返回值。
⼆、IHttpActionResultIHttpActionResult类型是WebApi⾥⾯⾮常重要的⼀种返回值类型。
下⾯博主就根据平时在项⽬⾥⾯使⽤最多的⼏种⽅式来讲解下这种类型的返回值的⼀些⽤法。
web 返回值常用

web 返回值常用Web返回值常用为标题Web开发中,返回值是指服务器向客户端返回的数据或信息。
返回值在Web开发中起到至关重要的作用,它可以告诉客户端请求的结果是成功还是失败,并携带相关的数据或错误信息。
本文将介绍Web开发中常用的返回值,并探讨它们的作用和用法。
一、200 OK200 OK是最常见的返回值之一,表示请求成功。
当客户端向服务器发送请求,并且服务器成功处理了该请求时,服务器会返回200 OK。
这个状态码告诉客户端请求已经成功完成,服务器将返回客户端所需的数据。
在Web开发中,200 OK常用于GET请求,表示成功获取资源。
二、404 Not Found404 Not Found是指请求的资源不存在。
当客户端向服务器请求一个不存在的资源时,服务器会返回404 Not Found。
这个状态码告诉客户端请求的资源未被找到,可能是由于资源被删除、链接错误或者URL拼写错误等原因导致的。
在Web开发中,404 Not Found常用于处理资源不存在的情况,提醒客户端资源无法找到。
三、500 Internal Server Error500 Internal Server Error是指服务器内部错误。
当服务器在处理请求时发生了错误,无法完成客户端的请求时,服务器会返回500 Internal Server Error。
这个状态码告诉客户端服务器出现了内部错误,无法完成请求。
在Web开发中,500 Internal Server Error常用于处理服务器端错误,提示客户端发生了无法预料的错误。
四、302 Found302 Found是指临时重定向。
当服务器需要临时将客户端的请求重定向到另一个URL时,会返回302 Found。
这个状态码告诉客户端请求的资源已经被临时移动到另一个URL,客户端需要重新发送请求到重定向后的URL。
在Web开发中,302 Found常用于处理网页跳转、临时重定向等情况。
ASP.NETCoreWebAPI控制器返回类型的最佳选项

CoreWebAPI控制器返回类型的最佳选项前言从.NET Core 2.1版开始,到目前为止,控制器操作可以返回三种类型的WebApi响应。
这三种类型都有自己的优点和缺点,但都缺乏满足REST和高可测性的选项。
Core中可用的响应类型包括最近发布的2.2版本•具体类型的结果•IActionResult•的ActionResult <T>最后一个reult选项 ActionResult <T>是在.NET Core 2.1中引入的。
我将使用一个简单的例子来比较使用这三个控制器动作响应类型选项的优缺点。
文章内容返回HTTP状态这是您在WebAPI应用程序开发过程中必须要具备的。
虽然可以遵循REST,但是任何程序功能都是由业务需求驱动的。
如果由于控制器操作而返回特定类型,您可能偶尔发现的一件事肯定会返回自定义HTTP状态代码。
让我们看看具有特定类型返回的简单操作,并让它们注意比较。
具体类型[HttpGet("{id}")]public IEnumerable<string> GetById(int id){if (id>0){return new List<string>(){"Value1","Value2","Value3"};}return null;}我们有了上面的简单单吗,如果ID参数大于0,并返回字符串列表,反则返回null。
转换成HTTP,对于任何返回的数据,我们将有200 OK 状态吗响应,以下是我使用PostMan的测试结果图,请参考。
如果没有数据,我们将会有一个204 No Content 响应。
对于大多数客户来说,这是非常满意的,但是假设我们需要返回另一个状态代码,例如,小于0的任何值,我们直接希望告诉客户发送的数据无效,理想情况下,我们将会返回404 BadRequest状态代码。
net core web api返回文件的几种方式

net core web api返回文件的几种方式在 .NET Core Web API 中,可以通过以下几种方式返回文件:1. 返回文件路径:- 将文件路径作为字符串返回给客户端。
客户端可以使用该路径来下载文件。
2. 返回文件流:- 将文件以流的形式返回给客户端。
客户端可以使用该流来下载文件。
- 可以使用 `FileStreamResult` 类来实现,它可以将`FileStream` 对象返回给客户端。
```csharp[HttpGet("download")]public IActionResult DownloadFile(){// 获取文件路径string filePath = @"C:\path\to\file.txt";// 创建 FileStream 对象var stream = new FileStream(filePath, FileMode.Open);// 返回 FileStreamResult 对象,它会将 FileStream 对象返回给客户端return new FileStreamResult(stream, "application/octet-stream"); }```3. 直接返回文件:- 将文件作为二进制数据返回给客户端。
客户端可以将该数据保存为文件。
- 可以使用 `FileContentResult` 类来实现,它可以将文件的字节数组返回给客户端。
```csharp[HttpGet("download")]public IActionResult DownloadFile(){// 获取文件路径string filePath = @"C:\path\to\file.txt";// 将文件读取为字节数组byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);// 返回 FileContentResult 对象,它会将字节数组返回给客户端return new FileContentResult(fileBytes, "application/octet-stream");}```4. 通过 Core 内置的 `PhysicalFile` 方法返回文件: - 可以直接使用 `PhysicalFile` 方法来返回文件。
webapi 参数

webapi 参数摘要:1.Web API 参数简介2.Web API 参数的分类3.Web API 参数的使用方法4.Web API 参数的注意事项5.Web API 参数的未来发展正文:【1.Web API 参数简介】Web API,全称Web 应用程序接口,是一种用于实现Web 服务的技术。
Web API 可以让开发者编写代码来调用第三方Web 服务,从而实现各种功能。
在Web API 中,参数是一个重要的组成部分,它们可以帮助开发者定义和控制API 的输入和输出。
【2.Web API 参数的分类】Web API 参数主要分为以下几类:(1)请求参数:请求参数是在发送请求时附加在请求中的数据。
它们通常用于表示客户端请求的详细信息,如查询条件、排序规则等。
(2)响应参数:响应参数是在服务器处理请求后返回给客户端的数据。
它们通常用于表示服务器处理结果的详细信息,如数据、状态码等。
(3)路径参数:路径参数是URL 中除域名和端口之外的部分,它们通常用于表示请求资源的唯一标识。
(4)查询参数:查询参数是在URL 中以“?”符号后跟的一系列键值对。
它们通常用于向服务器传递额外的请求信息,如搜索查询、分页参数等。
【3.Web API 参数的使用方法】在使用Web API 参数时,开发者需要遵循以下步骤:(1)阅读API 文档:开发者需要详细阅读API 的文档,了解API 的参数类型、格式和作用。
(2)构建请求:开发者需要根据API 文档中的要求,构建包含请求参数的请求。
(3)发送请求:将构建好的请求发送给服务器。
(4)解析响应:服务器处理请求后,会返回包含响应参数的响应。
开发者需要对响应进行解析,以获取所需的信息。
【4.Web API 参数的注意事项】在使用Web API 参数时,开发者需要注意以下几点:(1)参数格式:参数的格式通常为键值对,其中键表示参数名,值表示参数值。
键和值之间用“=”符号连接,多个参数之间用“&”符号连接。
webapi的几种请求方式

webapi的几种请求方式(原创版)目录1.引言2.GET 请求3.POST 请求4.PUT 请求5.DELETE 请求6.总结正文一、引言Web API 是一种用于构建 Web 应用程序的接口,它允许开发人员在不同的系统之间共享数据和功能。
Web API 通过 HTTP 协议进行通信,支持多种请求方式。
本文将介绍 Web API 的几种常见请求方式,包括 GET、POST、PUT 和 DELETE。
二、GET 请求GET 请求是最常用的 Web API 请求方式之一。
它用于从服务器上获取数据,通常用于查询或检索资源。
GET 请求的 URL 中通常包含查询参数,用于向服务器传递所需数据的具体信息。
服务器在接收到 GET 请求后,会返回相应的数据,通常以 JSON 格式表示。
三、POST 请求POST 请求用于向服务器发送数据,通常用于创建新资源或提交表单。
POST 请求的数据通常通过请求体发送,而 URL 中不包含查询参数。
服务器在接收到 POST 请求后,会处理数据并返回相应的响应,通常也以 JSON格式表示。
四、PUT 请求PUT 请求用于更新服务器上的现有数据。
它与 POST 请求类似,但PUT 请求通常需要指定要更新的资源的 ID 或其他唯一标识符。
服务器在接收到 PUT 请求后,会根据请求中的数据更新相应的资源,并返回响应。
五、DELETE 请求DELETE 请求用于删除服务器上的资源。
它与 GET、POST 和 PUT 请求不同,因为 DELETE 请求不需要 URL 中包含查询参数。
服务器在接收到 DELETE 请求后,会删除指定的资源,并返回响应。
六、总结Web API 支持多种请求方式,包括 GET、POST、PUT 和 DELETE。
每种请求方式都有其特定的用途和特点,开发人员需要根据实际需求选择合适的请求方式。
webapi controllerbase 返回类型

webapi controllerbase 返回类型在 Web API 中,ControllerBase 是 Core 提供的基类控制器,用于处理 HTTP 请求和生成响应。
它的返回类型可以是各种不同的数据类型,包括原始类型、对象、集合、HTTP状态码及自定义类型。
以下是一些常见的返回类型及其相关参考内容:1. 返回原始类型:ControllerBase 可以直接返回各种原始数据类型,如字符串、整数、布尔值等。
这些类型的返回值可以根据业务需要灵活地进行处理。
参考内容:可以查阅 Microsoft 文档中有关基本数据类型的部分,了解这些类型的使用方法和示例。
2. 返回对象:返回对象是 Web API 常见的一种返回类型。
返回对象可以是自定义类型,也可以是 .NET 框架中的预定义类型。
返回对象可以包含多个属性,便于传递较为复杂的数据结构。
参考内容:可以参考 Microsoft 文档中有关对象返回类型的部分,了解如何定义和使用对象返回类型。
3. 返回集合:当需要返回多个对象时,可以使用集合作为返回类型。
常见的集合类型有 List、IEnumerable、IQueryable 等,可以根据业务需要选择适合的集合类型。
参考内容:可以查阅 Microsoft 文档中有关集合返回类型的部分,了解如何创建和处理集合返回类型。
4. 返回 HTTP 状态码:ControllerBase 可以返回标准的 HTTP 状态码,如成功的 200、错误的 404、未经授权的 401 等。
这种返回类型适用于需要明确表示请求状态的场景。
参考内容:可以查看 Microsoft 文档中有关 HTTP 状态码的部分,了解不同状态码的含义和正确使用方法。
5. 返回自定义类型:有时候,返回类型可能是自定义的业务类型,例如自定义的错误消息类。
这可以帮助客户端更好地理解错误信息,并按照自定义的逻辑进行处理。
参考内容:可以查阅自定义类型相关的文档和教程,了解如何定义和使用自定义返回类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为什幺可以返回 Json(T content)呢,转到 Json(T content)的定义,发现它 返回的是 JsonResult 对象 再转到 JsonResult 的定义,发现它实现了 IHttpActionResult 接口 当然也可以使用 dynamic 来返回一个对象
使用 postman,测试接口: 可以看到,void 声明的接口,在请求成功的时候得不到返回值,而且会返 回 http 的状态码为 204,表示没有返回值。 IHttpAcTIonResult IHttpAcTIonResult 是 WebApi 最常用的一种返回值类型,常用的方式有: Json(T content)、Ok()、 Ok(T content)、NotFound()、Content(HttpStatusCode statusCode, T value)、BadRequest()、Redirect(string locaTIon)等 Json(T content) 在 WebApi 的 ApiController 这个抽象类里面,为我们封装了 Json(T content)这个方法,它的用法和 MVC 里面的 JsonResult 基本类似。
We返回值主要有四种类型 void 无返回值 IHttpAcTIonResult HttpResponseMessage 自定义类型 void 无返回值 大家都知道 void 声明的是一个无返回值的方法,声明一个 api 控制器方 法,例如: