Asp.net core中HttpResponse常用属性及Status code
在ASP.NET Core中,HttpResponse 表示HTTP响应,其中包括一些常用的属性和方法,用于设置HTTP响应的各种属性。HTTP响应通常由一个HTTP状态码,HTTP头(headers),和HTTP主体(body)组成。以下是一些常用的 HttpResponse 属性和一些常见的HTTP状态码及其含义:
HttpResponse 常用属性:
StatusCode: 用于设置HTTP响应的状态码,如 200、404、500 等。
ContentType: 用于设置HTTP响应的内容类型(MIME类型),例如 "application/json"、"text/html"。
Headers: 用于添加或修改HTTP响应头信息,如设置响应的缓存策略、允许的跨域请求等。
Cookies: 用于操作响应中的HTTP cookies,包括添加、修改、删除等操作。
Body: 用于设置HTTP响应的主体内容。通常,您可以使用 response.WriteAsync() 方法来将内容写入响应主体。
常见的HTTP状态码及其含义:
200 OK: 请求成功。服务器已成功处理了请求。
201 Created: 已创建。服务器已成功创建了资源。
204 No Content: 无内容。服务器成功处理请求,但没有返回任何内容。
400 Bad Request: 请求无效。通常是因为请求参数或语法错误。
401 Unauthorized: 未授权。需要进行身份验证或授权才能访问资源。
403 Forbidden: 禁止访问。服务器理解请求,但拒绝提供服务。
404 Not Found: 未找到。请求的资源不存在。
500 Internal Server Error: 服务器内部错误。通常是服务器端代码错误导致的。
503 Service Unavailable: 服务不可用。服务器当前无法处理请求,通常是临时性的。
public static void Main(string[] args)
{
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
WebApplication app = builder.Build();
ConcurrentDictionary<string, Fruit> _fruit = new ConcurrentDictionary<string, Fruit>();
app.MapGet("/fruit", () => _fruit);
app.MapGet("/fruit/{id}", (HttpResponse response,string id) =>
{
var ifSuccess=_fruit.TryGetValue(id, out var fruit);
if (!ifSuccess)
{
response.StatusCode = 404;
response.ContentType = MediaTypeNames.Text.Plain;
return response.WriteAsync($"没有发现id={id}的fruit");
}
string jsonFruit = JsonSerializer.Serialize(fruit, new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
});
response.StatusCode = 200;
response.ContentType = MediaTypeNames.Application.Json;
return response.WriteAsync(jsonFruit);
});
app.MapPost("/fruit/{id}", ( Fruit fruit,string id,HttpResponse response) =>
{
var ifSuccess = _fruit.TryAdd(id, fruit);
if (!ifSuccess)
{
response.StatusCode = 418;
response.ContentType=MediaTypeNames.Text.Plain;
return response.WriteAsync($"已存在id={id}的fruit");
}
response.StatusCode = 201;
response.ContentType = MediaTypeNames.Text.Plain;
return response.WriteAsync($"已存入");
});
app.Run();
}
以及从以上代码可以看出:传入的参数顺序并不固定,可以string id,Fruit fruit,HttpResponse res,也可以Fruit fruit,HttpResponse res,string id.
Asp.net core中HttpResponse常用属性及Status code的更多相关文章
- ASP.NET Core中使用自定义MVC过滤器属性的依赖注入
除了将自己的中间件添加到ASP.NET MVC Core应用程序管道之外,您还可以使用自定义MVC过滤器属性来控制响应,并有选择地将它们应用于整个控制器或控制器操作. ASP.NET Core中常用的 ...
- ASP.NET Core中如果Response.HasStarted已经为true,就不能更改Response.Cookies和Response.Headers等属性的值了
最近我在ASP.NET Core中做了一个中间件CustomizedMiddleware,要说该中间件的功能也很简单,其实就是往HttpResponse中添加一个Cookie而已,但是我将添加Cook ...
- ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)
前言 本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期. 这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度. 目录 ...
- ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)
在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口 ...
- ASP.NET Core中使用Autofac进行属性注入
一些无关紧要的废话: 作为一名双修程序员(自封的),喜欢那种使用Spring的注解形式进行依赖注入或者Unity的特性形式进行依赖注入,当然,形式大同小异,但结果都是一样的,通过属性进行依赖注入. A ...
- ASP.NET Core中的响应压缩
介绍 响应压缩技术是目前Web开发领域中比较常用的技术,在带宽资源受限的情况下,使用压缩技术是提升带宽负载的首选方案.我们熟悉的Web服务器,比如IIS.Tomcat.Nginx.Apache ...
- ASP.NET Core 中文文档 第三章 原理(6)全球化与本地化
原文:Globalization and localization 作者:Rick Anderson.Damien Bowden.Bart Calixto.Nadeem Afana 翻译:谢炀(Kil ...
- 在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证
注:下载本文提到的完整代码示例请访问:How to authorization Angular 2 app with asp.net core web api 在ASP.NET Core中使用Angu ...
- 谈谈ASP.NET Core中的ResponseCaching
前言 前面的博客谈的大多数都是针对数据的缓存,今天我们来换换口味.来谈谈在ASP.NET Core中的ResponseCaching,与ResponseCaching关联密切的也就是常说的HTTP缓存 ...
- 在ASP.NET Core中使用brotli压缩
Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比.据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZ ...
随机推荐
- 在Unity中玩转表达式树:解锁游戏逻辑的动态魔法
html { overflow-x: initial !important } :root { --bg-color: #ffffff; --text-color: #333333; --select ...
- win - [01] 修改网络连接名称(网络1、网络2...网络10)
修改网络连接的名称 1.打开运行窗口:Windows 键 + R 2.在运行窗口输入 regedit,打开注册表编辑器 3.在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...
- Flink Watermark 不止可以用时间戳衡量
https://mp.weixin.qq.com/s/L5PqtcmffCIq_CnUs0WS3g
- 手把手教你用 MicroPython 玩转幻尔串口舵机,代码+教程全公开
原文链接: FreakStudio的博客 摘要 信号发生扩展板通过SPI接口生成可调频率和幅度的正弦波.方波和三角波,频率小于1MHz.支持幅度调节,提供原始和6倍放大输出接口.配备5阶低通滤波器.噪 ...
- sql sever查询库中每个表是否存在某个列名 列出表名
select t.TABLE_NAME from information_schema.columns t where t.COLUMN_NAME='列名';
- python os.walk函数
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下. root 所指的是当前正在遍历的这个文件夹的本身的地址 dirs 是一个 list ,内容是该文件夹中所有的目录的名 ...
- godoc使用方法介绍
一.go doc简介 Godoc是go语言的文档化工具,类似于文档化工具godoc,类似于Python的Docstring和Java的Javadoc Godoc通过解析包含注释的Go代码来生成HTML ...
- Radmin远程自动登入管理工具
功能说明: Radmin远程自动登入管理工具,服务器登入密码采用加密方式存储,软件可添加,编辑,删除服务器列表以及扫描服务器是否在线. 连接方式:有完全控制,仅查看,文件传输,关机等功能. 使用说明: ...
- 全国省市区基础数据SQL插入脚本
整理了一份全国省市区SQL插入脚本,并配上抓取数据读取插入数据库源码,附件下载地址:https://files.cnblogs.com/files/101Love/Region.rar
- ORA-28001:口令已经失效
Oracle用户口令默认的有效期导致的一个异常,留爪. Oralce11G下,创建的用户及口令,也就是用户密码默认会有个180天的过期时间, 如果超过180天用户口令未做修改,则该用户口令失效,也就是 ...