国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ASP.NET Core 中基于 Minimal APIs 的Web API

這篇具有很好參考價值的文章主要介紹了ASP.NET Core 中基于 Minimal APIs 的Web API。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基于 Minimal APIs 的Web API

Minimal APIs 是ASP.NET Core中快速構建 REST API 的方式,可以用最少的代碼構建全功能的REST API。比如下面三行代碼:

var app = WebApplication.Create(args);
app.MapGet("/", () => "Hello World!");
app.Run();

可以實現(xiàn)在請求網(wǎng)站根目錄結點的時候,返回"Hello World!"。
這種方式的Web API可以用于構建微服務,極簡功能的網(wǎng)站。

映射 HTTP 請求

下面代碼,將幾個 HTTP 請求的 url映射到 Lambda 函數(shù)中,分別是:文章來源地址http://www.zghlxwxcb.cn/news/detail-686807.html

  • HTTP GET,/todoitems ,獲取所有todoitems
  • HTTP GET,/todoitems/complete,獲取所有完成的todoitems
  • HTTP GET,/todoitems/{id},獲取某個 id 的todoitem
  • HTTP Post,/todoitems,添加一個todoitem
  • HTTP PUT,/todoitems/{id},修改某個 id 的todoitem
  • HTTP DELETE,/todoitems/{id},刪除某個 id 的todoitem
using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<TodoDb>(opt => opt.UseInMemoryDatabase("TodoList"));
builder.Services.AddDatabaseDeveloperPageExceptionFilter();
var app = builder.Build();

app.MapGet("/todoitems", async (TodoDb db) =>
    await db.Todos.ToListAsync());

app.MapGet("/todoitems/complete", async (TodoDb db) =>
    await db.Todos.Where(t => t.IsComplete).ToListAsync());

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

app.MapPost("/todoitems", async (Todo todo, TodoDb db) =>
{
    db.Todos.Add(todo);
    await db.SaveChangesAsync();

    return Results.Created($"/todoitems/{todo.Id}", todo);
});

app.MapPut("/todoitems/{id}", async (int id, Todo inputTodo, TodoDb db) =>
{
    var todo = await db.Todos.FindAsync(id);

    if (todo is null) return Results.NotFound();

    todo.Name = inputTodo.Name;
    todo.IsComplete = inputTodo.IsComplete;

    await db.SaveChangesAsync();

    return Results.NoContent();
});

app.MapDelete("/todoitems/{id}", async (int id, TodoDb db) =>
{
    if (await db.Todos.FindAsync(id) is Todo todo)
    {
        db.Todos.Remove(todo);
        await db.SaveChangesAsync();
        return Results.NoContent();
    }

    return Results.NotFound();
});

app.Run();

到了這里,關于ASP.NET Core 中基于 Minimal APIs 的Web API的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • ASP.NET Core 中的兩種 Web API

    ASP.NET Core 有兩種創(chuàng)建 RESTful Web API 的方式: 基于 Controller,使用完整的基于ControllerBase的基類定義接口endpoints。 基于 Minimal APIs,使用Lambda表達式定義接口 endpoints。 基于 Controller 的 Web API 可以使用構造函數(shù)注入,或者屬性注入,遵循面向對象模式。 基于 Minimal APIs 的 Web API 通

    2024年02月09日
    瀏覽(34)
  • 2.1 .net 8 ASP.NET Core Web API - Controller詳解

    2.1 .net 8 ASP.NET Core Web API - Controller詳解

    書接上回,上節(jié)我們留了幾個問題,即: 1、接口Hello的名字究竟怎么來的? 2、我們?nèi)绻氚呀涌诟某善渌拿Q,應該怎么做? 3、我們繼承ControllerBase,以及[Route(“[controller]”)]屬性,又是分別起到什么作用? 需要解決以上幾個問題,我們就要繼續(xù)深入研究Controller相關的

    2024年02月20日
    瀏覽(21)
  • ASP.NET Core Web API 流式返回,逐字顯示

    ASP.NET Core Web API 流式返回,逐字顯示

    Websocket、SSE(Server-Sent Events)和長輪詢(Long Polling)都是用于網(wǎng)頁和服務端通信的技術。 Websocket是一種全雙工通信協(xié)議,能夠實現(xiàn)客戶端和服務端之間的實時通信。它基于TCP協(xié)議,并且允許服務器主動向客戶端推送數(shù)據(jù),同時也允許客戶端向服務器發(fā)送數(shù)據(jù)。 SSE是一種單向

    2023年04月23日
    瀏覽(21)
  • ASP.NET Core Web API之Token驗證

    ASP.NET Core Web API之Token驗證

    在實際開發(fā)中,我們經(jīng)常需要對外提供接口以便客戶獲取數(shù)據(jù),由于數(shù)據(jù)屬于私密信息,并不能隨意供其他人訪問,所以就需要驗證客戶身份。那么如何才能驗證客戶的什么呢?今天以一個簡單的小例子,簡述ASP.NET Core Web API開發(fā)過程中,常用的一種JWT身份驗證方式。僅供學

    2024年02月11日
    瀏覽(22)
  • ASP.NET Core Web API入門之三:使用EF Core

    ASP.NET Core Web API入門之三:使用EF Core

    一般來講我們做項目都會用實體類跟數(shù)據(jù)庫實體進行關系對應,這樣的好處方便我們維護、增刪改查,并且可以減少SQL的編寫,從而統(tǒng)一風格,那么 Entity Framework Core 就是很不錯的ORM框架。 1、跨數(shù)據(jù)庫支持能力強大,只需修改配置就可以輕松實現(xiàn)數(shù)據(jù)庫切換。 2、提升了開發(fā)效

    2024年02月10日
    瀏覽(22)
  • 在 ASP.NET Core Web API 中處理 Patch 請求

    PUT 和 PATCH 方法用于更新現(xiàn)有資源。 它們之間的區(qū)別是,PUT 會替換整個資源,而 PATCH 僅指定更改。 在 ASP.NET Core Web API 中,由于 C# 是一種靜態(tài)語言( dynamic 在此不表),當我們定義了一個類型用于接收 HTTP Patch 請求參數(shù)的時候,在 Action 中無法直接從實例中得知客戶端提供了哪

    2024年02月04日
    瀏覽(97)
  • ASP.NET Core 的 Web Api 實現(xiàn)限流 中間件

    ASP.NET Core 的 Web Api 實現(xiàn)限流 中間件

    Microsoft.AspNetCore.RateLimiting ?中間件提供速率限制(限流)中間件。 它是.NET 7 以上版本才支持的中間件,剛看了一下,確實挺好用,下面給大家簡單介紹一下: RateLimiterOptionsExtensions?類提供下列用于限制速率的擴展方法:????? 固定窗口限制器 滑動窗口限制器 令牌桶限

    2024年01月17日
    瀏覽(18)
  • ASP.NET Core Web API 流式返回,實現(xiàn)ChatGPT逐字顯示

    ASP.NET Core Web API 流式返回,實現(xiàn)ChatGPT逐字顯示

    ??作者:科技、互聯(lián)網(wǎng)行業(yè)優(yōu)質(zhì)創(chuàng)作者 ??專注領域:.Net技術、軟件架構、人工智能、數(shù)字化轉型、DeveloperSharp、微服務、工業(yè)互聯(lián)網(wǎng)、智能制造 ??歡迎關注我(Net數(shù)字智慧化基地),里面有很多 高價值 技術文章, 是你刻苦努力也積累不到的經(jīng)驗 ,能助你快速成長。升職

    2024年02月22日
    瀏覽(26)
  • 如何將.NET 8.0的ASP.NET Core Web API部署成Windows服務

    如何將.NET 8.0的ASP.NET Core Web API部署成Windows服務

    前面寫了一篇關于將.NET應用轉換成Windows服務的方法,其實真正的目的是為了探索如何將Asp.Net Core Web Api 部署成Windows 服務?;谏弦黄幕A,只需把創(chuàng)建 WebApplication 的代碼放到?BackgroundService 的ExecuteAsync方法中即可。 其中比較重要的一個細節(jié)就是需要指定一下配置: ? ?

    2024年01月17日
    瀏覽(93)
  • 1.2 .net 8 ASP.NET Core Web API 項目創(chuàng)建之 Hello,World

    1.2 .net 8 ASP.NET Core Web API 項目創(chuàng)建之 Hello,World

    上一節(jié)演示了如何創(chuàng)建一個新的Web API 項目,并展示了如何運行及測試接口,這節(jié)的主要目標是增加一個hello的接口,接口返回內(nèi)容為“Hello,World!”,在添加接口之前,我們先要對上一節(jié)的項目進行分析,只有了解項目的結構,才能知道怎么去添加新的接口和擴展新的功能。

    2024年01月20日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包