首页 > 其他分享 >MiniAPI:.NET7 Preview4之MiniAPI更新总览

MiniAPI:.NET7 Preview4之MiniAPI更新总览

时间:2022-12-04 17:00:31浏览次数:42  
标签:MiniAPI TypedResults db NET7 返回值 总览 todo id

  一觉醒来,发现微软带来了.NET7 Preview4的更新,本次更新关于MiniAPI的还不少,难以掩饰的喜悦心情,促使我尽快把这个消息分享给大家,那下来我们看一下一共带来了哪些关于MiniAPI的更新:

  返回值带来了TypedResults,这样进一步地丰富了返回值的多样性:

app.MapGet("/todos/{id}", async IResult (int id, TodoDb db)
{
return await db.Todos.FindAsync(id) is Todo todo
? TypedResults.Ok(todo)
: TypedResults.NotFound();
});

  同时也带来了多个多个返回值:

app.MapGet("/todos/{id}", async Results<Ok<Todo>, NotFound> (int id, TodoDb db)
{
return await db.Todos.FindAsync(id) is Todo todo
? TypedResults.Ok(todo)
: TypedResults.NotFound();
});

  OpenAPI的改进:

  在《.NET6之MiniAPI(十八):OpenAPI swagger》我们说过,MiniAPI对Swagger的支持还不完美,相信这次,会带来一定的提升:

  描述和参数:

app.MapGet("/todos/{id}", (int id) => ...)
.WithOpenApi(operation => {
operation.Summary = "Retrieve a Todo given its ID";
operation.Parameters[0].AllowEmptyValue = false;
});

  返回值:

app.MapGet("/todos", async (TodoDb db)
{
return Results.Ok(await db.Todos.ToArrayAsync());
})
.Produces<Todo[]>();

  以及对多返回值的展示。

  关于更详细的Demo,会在后续一些篇幅中显现。

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

MiniAPI:.NET7 Preview4之MiniAPI更新总览_MiniAPI

 

标签:MiniAPI,TypedResults,db,NET7,返回值,总览,todo,id
From: https://blog.51cto.com/axzxs/5910013

相关文章

  • .NET7之MiniAPI(特别篇):.NET7 Preview3
    .NET7的第三个预览版发布了,同样带来了miniapi的更新,这次带来了路由过滤器,与mvc版的action过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-up......
  • .NET7之MiniAPI(特别篇):.NET7 Preview3
    .NET7的第三个预览版发布了,同样带来了miniapi的更新,这次带来了路由过滤器,与mvc版的action过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-u......
  • .NET7之MiniAPI(特别篇):.NET7 Preview3
    .NET7的第三个预览版发布了,同样带来了miniapi的更新,这次带来了路由过滤器,与mvc版的action过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-u......
  • 测试篇 c#net7nativeAOT桌面图标位置备份器
    项目备份windows桌面的图标位置为jsonc#项目是net7nativeAOT的框架,内有json生成器的处理.编译方式在.csproj文件的路径上面(删除路径)输入cmd,回车:dotnetpub......
  • 使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例
    使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例 译者注本文是一篇不可多得的好文,MemoryPack的作者neuecc大佬通过本文解释了他是如何将序列化程序性能提......
  • 使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例
    译者注本文是一篇不可多得的好文,MemoryPack的作者neuecc大佬通过本文解释了他是如何将序列化程序性能提升到极致的;其中从很多方面(可变长度、字符串、集合等)解释了一......
  • 开发环境-安装总览
    -----------------------------------------------------------------------------------------------------1、jdkC:\ProgramFiles\Java\jdk1.8.0_333配置环境变量JAVA_H......
  • .NET6之MiniAPI(二十六):封装Dapper
    在上一篇说过,Dapper是通过扩展IDbConnection来达到实现的,那带来的一个问题就是隔离性不好,比如在做单元测试时,mock就有点困难,所以在实践中,我对Dapper作了扩展,下面分享出......
  • .NET6之MiniAPI(二十六):封装Dapper
    在上一篇说过,Dapper是通过扩展IDbConnection来达到实现的,那带来的一个问题就是隔离性不好,比如在做单元测试时,mock就有点困难,所以在实践中,我对Dapper作了扩展,下面分享出......
  • .NET6之MiniAPI(二十九):UnitTest
    MiniAPI的单元测试与asp.netweb api的单元测试大体是相同的(毕竟都是asp.netcore),只是在小细节上有一些差异,文章中会说到这点。本文测试框架是XUnit,Mock框架是Moq,......