[C#] 探索 ASP.NET Core Web API 中的 Native AOT功能 MapPost

2024-01-08

最近在看 .Net 8 的東西,看起來多了一些新東西,我再開專案的時候看到這個 ASP.NET Core Web API (Native AOT)

可以使用最小單位來製作 Web API ,因為我很喜歡在小裝置上面搞事情就想說來玩一下



他的範例本身寫的就不錯了,官方文件對於這概觀介紹也寫得不錯,詳情可以參考這裡 官方資料 ,我在測試的時候遇到一個問題

就是我在想能不能使用一般的(form submit) 去接值,因為他案例都是用 MapGet ,MapPost 花了我一點時間測試了一下

大概就筆記一下,因為好像大家都沒有著墨在這上面

這邊就留一下筆記,主要案例也是延續官方建立起來的案例,我多開了一個 search ,並且可以傳入 key 為 kw 的值當做搜尋關鍵字


var todosApi = app.MapGroup("/todos"); todosApi.MapGet("/", () => sampleTodos); todosApi.MapGet("/{id}", (int id) => sampleTodos.FirstOrDefault(a => a.Id == id) is { } todo ? Results.Ok(todo) : Results.NotFound()); //用來搜尋 todosApi.MapPost("/search", (HttpContext context)=> { var res = sampleTodos.Where(x => x.Title.Contains(context.Request.Form["kw"])).ToArray(); if (res == null) { return Results.NotFound(); } else { return Results.Ok(res); } });


Postman 測試結果:



先筆記到這,如果有發現其他好玩的,我在繼續分享


當麻許的碎念筆記 2014 | Donma Hsu Design.