使用擴展方法組織端點

組織端點的一種簡單方法是使用擴展方法。

我們可以在一個名為 Endpoints 的文件夾中,或者在一個特定的功能文件夾(如 TodoItems 文件夾)中創(chuàng)建一個名為 TodoItemEndpoints.cs 的文件,并在其中添加以下代碼:

public static class TodoItemEndpoints
{
    public static void MapTodoItemEndpoints(this IEndpointRouteBuilder routes)
    {
        routes.MapGet("/todoitems", async (DbContext db) =>
        {
            return await db.TodoItems.ToListAsync();
        });
    }
}

通過這種方式,我們可以將端點的定義與主程序文件分離,從而使代碼更加模塊化和清晰。


使用 TypedResults 而不是 Results

為了讓代碼更清晰,我們可以使用 TypedResults 替代 Results

當使用 Results 時,通常需要添加一個 Produces 屬性,以便為 Swagger 等工具指定有效的響應類型。而使用 TypedResults 后,可以直接從返回類型中推斷出響應類型,從而省略 Produces 屬性。這不僅減少了代碼的冗余,還能在編譯時檢查錯誤,使單元測試更加簡單。

例如:

return TypedResults.Ok(todoItem);

這種方法可以顯著提升代碼的可讀性和可靠性。


將功能與端點注冊分開

盡管我們已經將端點定義移到了單獨的文件中,但代碼可能仍然顯得混亂且難以測試。

為了解決這些問題,可以將 Lambda 表達式中的邏輯提取到獨立的方法中。例如:

public static class TodoItemEndpoints
{
    public static void MapTodoItemEndpoints(this IEndpointRouteBuilder routes)
    {
        routes.MapGet("/todoitems", GetTodoItems);
    }

    private static async Task GetTodoItems(DbContext db)
    {
        var items = await db.TodoItems.ToListAsync();
        return TypedResults.Ok(items);
    }
}

通過這種方式,我們可以直接調用這些方法進行測試,而無需通過 API 調用來驗證邏輯。


分組端點

為了進一步優(yōu)化代碼結構,可以對端點進行分組,避免重復定義。

例如,我們可以將所有與 TodoItems 相關的端點分組:

app.MapGroup("/todoitems")
    .RequireAuthorization()
    .WithTags("TodoItems")
    .MapGet("/", GetTodoItems)
    .MapPost("/", CreateTodoItem);

這種分組方式不僅減少了重復代碼,還允許我們對整個組應用屬性,例如授權、標簽、CORS 或速率限制等。當然,如果需要,也可以對單個端點應用這些屬性。


總結

通過以上方法,我們可以顯著提升 ASP.NET Core Minimal APIs 的組織性和可維護性。使用擴展方法、TypedResults、功能分離以及端點分組,不僅讓代碼更清晰,還提高了測試和擴展的便利性。

Minimal APIs 是一個強大的工具,完全可以勝任“真實生產”環(huán)境中的應用開發(fā)。希望本文的內容能為您在實際項目中使用 Minimal APIs 提供一些有價值的參考。

原文鏈接: https://www.tessferrandez.com/blog/2023/10/31/organizing-minimal-apis.html
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業(yè)工程師共享工作效率翻倍的秘密
返回頂部
上一篇
在ASP.NET Core Web API中處理JSON數(shù)據(jù) - Medium
下一篇
在S4HANA上增強標準API - denprotech
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
欧美精品一区二区三区在线| 一本大道久久精品懂色aⅴ| 国产亚洲一区二区三区在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 一个色综合av| 日韩精品1区2区3区| 狠狠色丁香婷婷综合| 色综合一区二区三区| 久久一区二区三区四区| av一区二区三区在线| 欧美剧情片在线观看| 日韩精品午夜视频| 4hu四虎永久在线影院成人| 亚洲色图一区二区| 欧美亚洲国产一区二区三区| 久久婷婷国产综合国色天香| 国产成人无遮挡在线视频| 成人综合激情网| 色噜噜久久综合| 国产三级精品三级在线专区| 色国产精品一区在线观看| 国产精品萝li| 91国偷自产一区二区开放时间| 国内一区二区视频| 亚洲欧美色一区| 日韩欧美中文字幕一区| 欧美精彩视频一区二区三区| 在线亚洲高清视频| 五月开心婷婷久久| 中文字幕一区二区三| 色婷婷综合中文久久一本| 亚洲va在线va天堂| 国产日韩欧美精品综合| 欧美日韩国产综合视频在线观看| 国产在线视频不卡二| 国产精品伦一区| 国产露脸91国语对白| 国产亚洲美州欧州综合国| 欧美日韩免费电影| 五月天欧美精品| 青椒成人免费视频| 久久久美女艺术照精彩视频福利播放| 欧美日韩精品一区二区三区 | 欧美大胆人体bbbb| eeuss鲁片一区二区三区| 国产成人99久久亚洲综合精品| 日韩电影在线看| 亚洲一区二区三区四区在线观看 | 色哦色哦哦色天天综合| 亚洲综合免费观看高清完整版| 国产一区二区视频在线播放| 国产亚洲精品中文字幕| 欧美色图一区二区三区| 久久99国产精品久久99| jlzzjlzz国产精品久久| 91视频在线看| 色综合av在线| 精品视频在线免费看| 欧美人动与zoxxxx乱| 欧美三电影在线| 91精品国产手机| 精品国产污网站| 综合中文字幕亚洲| 亚洲天堂2016| 国产乱国产乱300精品| 欧美一区二区三区成人| 亚洲男人天堂一区| 久久不见久久见免费视频7| 成人白浆超碰人人人人| 欧美日韩亚洲高清一区二区| 国产亚洲成av人在线观看导航 | 精品一区二区在线免费观看| 久久91精品久久久久久秒播| 99视频一区二区三区| 欧美一区二区观看视频| 天天操天天干天天综合网| 福利视频网站一区二区三区| 精品日韩在线一区| 成人激情午夜影院| 国产夜色精品一区二区av| 精品亚洲成a人| 久久午夜电影网| 91精品国产色综合久久 | 亚洲欧洲日韩在线| 老司机一区二区| 亚洲人午夜精品天堂一二香蕉| 欧美影院一区二区三区| 免费观看一级特黄欧美大片| 日韩午夜激情电影| 久久久久成人黄色影片| 亚洲国产成人av网| av综合在线播放| www国产精品av| 亚洲国产精品激情在线观看| 色婷婷精品大在线视频| 欧美视频在线观看一区二区| 欧美不卡视频一区| 国产999精品久久久久久绿帽| 蜜桃久久久久久| 色婷婷激情一区二区三区| 国产日产欧美精品一区二区三区| 国产网站一区二区| 性久久久久久久久| 狠狠色丁香久久婷婷综合_中 | 日本亚洲最大的色成网站www| 国产露脸91国语对白| 欧美亚洲一区二区三区四区| 久久久天堂av| 麻豆一区二区99久久久久| 精品污污网站免费看| 国产麻豆一精品一av一免费 | 99久久精品一区二区| 欧美www视频| 亚洲免费观看高清| 美国十次了思思久久精品导航| 91成人国产精品| 自拍偷拍国产亚洲| 国产激情91久久精品导航| 久久网这里都是精品| 97久久人人超碰| 日韩av一区二| 国产精品女同一区二区三区| 青椒成人免费视频| 久久亚洲精华国产精华液 | 日产欧产美韩系列久久99| a在线播放不卡| 国产成人在线视频网址| 精品国产99国产精品| 蜜臀av性久久久久av蜜臀妖精| 色综合久久久网| aaa国产一区| 国产视频一区二区三区在线观看| 日日夜夜精品视频天天综合网| 欧美日韩卡一卡二| 国产一区二区三区四区五区入口 | 国产高清久久久久| 麻豆成人免费电影| 亚洲1区2区3区视频| 亚洲已满18点击进入久久| 中日韩免费视频中文字幕| 欧美成人福利视频| 91麻豆精品国产91久久久久久久久 | 欧美在线视频你懂得| a亚洲天堂av| 99久久精品国产麻豆演员表| 福利电影一区二区三区| 成人高清av在线| 国产盗摄视频一区二区三区| 国产一区久久久| 91丨porny丨蝌蚪视频| 奇米888四色在线精品| 亚洲成年人影院| 国产成人在线观看免费网站| 成人免费毛片app| 欧美色网一区二区| 99久久婷婷国产| 日韩免费观看高清完整版在线观看 | 欧美在线你懂得| 国产精品理伦片| 九九热在线视频观看这里只有精品| 九色综合狠狠综合久久| jvid福利写真一区二区三区| 67194成人在线观看| 91精品国产综合久久精品app| 久久久精品天堂| 国产真实乱对白精彩久久| 欧美综合一区二区三区| 亚洲欧美综合在线精品| 懂色中文一区二区在线播放| 欧美精品xxxxbbbb| 国产精品视频观看| 在线观看三级视频欧美| 亚洲视频一区在线观看| 亚洲国产精品综合小说图片区| 99视频超级精品| 偷窥少妇高潮呻吟av久久免费| 色婷婷精品久久二区二区蜜臂av| 国产精品不卡在线| 欧美性大战久久久| 久久丁香综合五月国产三级网站| 欧美一级一级性生活免费录像| 免费观看91视频大全| 日韩视频一区二区三区在线播放 | 欧美成人精品1314www| 国产白丝网站精品污在线入口| 一区二区三区在线观看国产| 欧美日产国产精品| 国内成+人亚洲+欧美+综合在线| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲视频一区二区在线| 91精品国产一区二区三区蜜臀| 亚洲人妖av一区二区| 国产不卡视频在线播放| 欧美激情一区二区在线| 欧美一区二区免费视频| 93久久精品日日躁夜夜躁欧美| 国产精品家庭影院| 精品少妇一区二区三区免费观看| 日本乱人伦一区| 欧美伊人精品成人久久综合97|