一些.Net 6+ 的 WebApi 一些中间件以及部分数据类型到 Json 的转换
- 新增 BusinessExceptionHandler 用于适应.NET8新增的全局异常处理
- 移除 ResultObject.cs 因为这种统一返回格式属于特殊的要求,正常的HTTP请求应该直接返回数据,而请求是否成功以及产生的异常应该由HTTP状态码反应.
- 同时将涉及到该类的 Filter 和中间件移动到Api例子中.
-
该库目前补充的 Converter 有: DateTimeConverter, DateTimeNullConverter, TimeSpanJsonConverter, TimeOnly, DateOnly
-
其中 TimeOnly 和 DateOnly 仅支持.Net6+ API 内部使用,传入和传出 Json 仅支持固定格式字符串
-
如:
DateOnly👉"2021-11-11"
,TimeOnly👉"23:59:25"
-
使用 Nuget 安装 EasilyNET.WebCore
-
然后在上述 Program.cs 中添加如下内容
-
.Net 6 +
// Add services to the container.
builder.Services.AddControllers().AddJsonOptions(c =>
{
c.JsonSerializerOptions.Converters.Add(new SystemTextJsonConvert.DateTimeConverter());
c.JsonSerializerOptions.Converters.Add(new SystemTextJsonConvert.DateTimeNullConverter());
});
目前支持全局 API 执行时间中间件
-
新增限流中间件(防抖),用于避免短时间内,重复请求
-
使用 Nuget 安装 # EasilyNET.WebCore
-
然后在 Program.cs 中添加如下内容
-
.Net 6 +
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment()) app.UseDeveloperExceptionPage();
app.UseResponseTime(); // 全局Action执行时间
...
app.Run();