Fork me on GitHub

MiniAPI:.NET7 Preview4之MiniAPI更新总览

  一觉醒来,发现微软带来了.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,会在后续一些篇幅中显现。

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

 

 

posted @   桂素伟  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示