首页 > 其他分享 >.NET7 Preview4之MapGroup

.NET7 Preview4之MapGroup

时间:2022-12-05 21:02:29浏览次数:41  
标签:Task group Preview4 app static NET7 MapGroup Data public

  这篇是“闻(看)香(码)识(学)女(技)人(术)”。

  这也是一个有意思的功能,路由分组,啥也不说了,看代码看结果:

using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.AspNetCore.OpenApi;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.MapGet("/test", () =>
{
})
.WithTags("TestApi");

app.MapPost("/test", () =>
{
})
.WithTags("TestApi");

app.MapGroup("/data").MapDataApi();//.RequireAuthorization();
app.Run();

/// <summary>
/// 分组扩展类
/// </summary>
public static class DataApi
{
public static GroupRouteBuilder MapDataApi(this GroupRouteBuilder group)
{
group.MapGet("/", Query);
group.MapDelete("/{id}", Remove);
group.MapPost("/", Add);
group.MapPut("/", Modify).WithOpenApi();
return group;
}
/// <summary>
/// 查询数据
/// </summary>
/// <returns></returns>
public static async Task<JsonHttpResult<List<Data>>> Query()
{
await Task.Delay(TimeSpan.FromMicroseconds(1));
return TypedResults.Json<List<Data>>(new List<Data> {
new Data { ID = 1, Name = "test01" },
new Data { ID = 2, Name = "test02" },
});
}
/// <summary>
/// 删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static async Task<Ok> Remove(int id)
{
await Task.Delay(1);
return TypedResults.Ok();
}
/// <summary>
/// 添加
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static async Task<Created<string>> Add(Data data)
{
await Task.Delay(1);
return TypedResults.Created<string>("/", "ok");
}
/// <summary>
/// 修改
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static async Task<Ok> Modify(Data data)
{
await Task.Delay(1);
return TypedResults.Ok();
}
}

public class Data
{
public int ID { get; set; }
public string? Name { get; set; }
}

看图:

.NET7 Preview4之MapGroup_.NET7 Preview4

  想要更快更方便的了解相关知识,可以关注微信公众号

.NET7 Preview4之MapGroup_MapGroup_02

标签:Task,group,Preview4,app,static,NET7,MapGroup,Data,public
From: https://blog.51cto.com/axzxs/5913279

相关文章

  • .NET7 Preview4:重构的返回值TypedResults
    为了更好的测试,更好的性能,Preview4带了一个新的请求返回值类型,这个新的类型中封装了所有的Http请求返回状态函数,还包括了返回成功后的几种数据类型,下面列举了几个常用的......
  • .NET7:更细致的时间
    当年在做go时,很羡慕它的时间有微秒,纳秒,在做性能优化时,能很小颗粒度的查看引入方法执行的时间,当时.net的DateTime只有毫秒(虽然也有别的办法获取)。现在,在最新的.NET7Prev......
  • .NET7 Preview4:重构的返回值TypedResults
    为了更好的测试,更好的性能,Preview4带了一个新的请求返回值类型,这个新的类型中封装了所有的Http请求返回状态函数,还包括了返回成功后的几种数据类型,下面列举了几个常用......
  • .NET7 Preview4:重构的返回值TypedResults
    为了更好的测试,更好的性能,Preview4带了一个新的请求返回值类型,这个新的类型中封装了所有的Http请求返回状态函数,还包括了返回成功后的几种数据类型,下面列举了几个常用......
  • .NET7:更细致的时间
    当年在做go时,很羡慕它的时间有微秒,纳秒,在做性能优化时,能很小颗粒度的查看引入方法执行的时间,当时.net的DateTime只有毫秒(虽然也有别的办法获取)。现在,在最新的.NET7Pre......
  • .NET7 Preview4 之OpenAPI swagger改进
    在MiniAPI系列中,《.NET6之MiniAPI(十八):OpenAPIswagger》介绍了swagger在MiniAPI框架中的使用,当时留下很多不足,随着.NET7Preview4的推出,这方面得到了很大的改进,我还是使......
  • .NET7 Preview4 之OpenAPI swagger改进
    在MiniAPI系列中,《.NET6之MiniAPI(十八):OpenAPIswagger》介绍了swagger在MiniAPI框架中的使用,当时留下很多不足,随着.NET7Preview4的推出,这方面得到了很大的改进,我还......
  • .NET7 Preview4之MapGroup
    这篇是“闻(看)香(码)识(学)女(技)人(术)”。这也是一个有意思的功能,路由分组,啥也不说了,看代码看结果:usingMicrosoft.AspNetCore.Http.HttpResults;usingMic......
  • MiniAPI:.NET7 Preview4之MiniAPI更新总览
    一觉醒来,发现微软带来了.NET7Preview4的更新,本次更新关于MiniAPI的还不少,难以掩饰的喜悦心情,促使我尽快把这个消息分享给大家,那下来我们看一下一共带来了哪些关于MiniA......
  • .NET7之MiniAPI(特别篇):.NET7 Preview3
    .NET7的第三个预览版发布了,同样带来了miniapi的更新,这次带来了路由过滤器,与mvc版的action过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-up......