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

使用.NET Core 7構(gòu)建一個簡潔的RESTful Minimal API

本教程將提供有關(guān)使用 .NET Core 7 和最小 API 方法構(gòu)建 RESTful API 的實踐介紹。

.NET Core 和 ASP.NET Core 是用于創(chuàng)建強大的 RESTful API 的流行框架。在本教程中,我們將使用它來開發(fā)一個簡單的 Minimal API 來模擬信用評分。最小 API 提供了一種使用 ASP.NET Core 創(chuàng)建高性能 HTTP API 的簡化方法。它們允許您通過最少的設(shè)置和代碼輕松構(gòu)建完整的 REST 端點。您可以流暢地定義 API 路由和操作來簡化開發(fā)過程,而不是依賴傳統(tǒng)的腳手架和控制器。

我們將創(chuàng)建一個端點,允許用戶通過向 API 發(fā)送請求來檢索信用評分。我們還可以使用 POST 和 GET 方法保存和檢索信用評分。然而,值得注意的是,我們不會連接到任何現(xiàn)有的后端系統(tǒng)來獲取信用評分;相反,我們將使用隨機數(shù)生成器來生成分數(shù)并將其返回給用戶。盡管此 API 相對簡單,但它將演示使用 .NET Core 和 ASP.NET 進行 REST API 開發(fā)的基礎(chǔ)知識。

前提條件

在開始之前,我們必須確保完成以下幾個前提條件。要跟隨并運行本教程,你需要以下內(nèi)容:

  • .NET Core安裝

  • IDE或代碼編輯器

  • 使用Postman測試我們的API端點

創(chuàng)建初始項目

我們將使用.NET cli工具來創(chuàng)建我們的初始項目。.NET 命令行界面提供了開發(fā)、構(gòu)建、運行和發(fā)布 .NET 應用程序的能力。

.NET cli new 命令提供了許多模板來創(chuàng)建項目。您還可以添加命令以從NuGet search 查找社區(qū)開發(fā)的模板或用于查看 Microsoft 提供的可用模板。dotnet new list

初始化項目


文章來源地址http://www.zghlxwxcb.cn/article/459.html

我們將創(chuàng)建一個最小的 API,并從盡可能干凈的狀態(tài)開始。我們將使用空的 ASP.NET Core 模板。在您選擇的目錄中;在終端中輸入以下內(nèi)容:

dotnet new web

您會注意到目錄結(jié)構(gòu)將如下所示:

目錄結(jié)構(gòu)示意圖

我們將在文件中完成所有工作Program.cs。其起始代碼應類似于以下內(nèi)容:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

我們可以看到我們的起始代碼是多么簡潔和可讀。讓我們逐行分解模板提供的代碼:

  1. WebApplication.CreateBuilder(args)方法創(chuàng)建該類的一個新實例WebApplicationBuilder,用于配置和構(gòu)建該WebApplication實例。args 參數(shù)是一個可選的命令行參數(shù)數(shù)組,可以在運行時傳遞給應用程序。

  2. builder.Build()調(diào)用該方法來創(chuàng)建該類的新實例WebApplication,該實例代表正在運行的應用程序。該實例配置應用程序、定義路由并處理請求。

  3. 第三行定義了使用該方法的應用程序的根路徑(“/”)的路由app.MapGet()。這意味著當請求根路徑時,應用程序?qū)⑹褂米址癏ello World!”進行響應。

  4. 我們通過調(diào)用該方法來啟動應用程序app.Run()

使用構(gòu)建器模式,我們可以配置和自定義WebApplication實例。這使我們能夠以結(jié)構(gòu)化和可擴展的方式定義應用程序的行為,包括中間件、路由和其他設(shè)置。例如,WebApplication構(gòu)建器創(chuàng)建的實例可以被視為應用程序的“入口點”,它處理請求并生成響應。

總的來說,此代碼塊在 .NET 7 中創(chuàng)建了一個簡單的 Minimal API,它以“Hello World!”進行響應。請求應用程序的根路徑時的消息。

接下來,我們將自定義 API 來模擬檢索信用評分。

在代碼中添加

在 中Program.cs,我們將容納我們的端點和業(yè)務邏輯。我們將定義creditscore端點以提供 GET 和 POST 操作。我們將實施一個列表來存儲我們想要的任何信用評分。我們還將定義一個端點來檢索已保存的信用評分列表。我們將使用 CreditScore record,這是 C# 10 中類似于結(jié)構(gòu)的新引用類型。Arecord是一個輕量級且不可變的數(shù)據(jù)對象,針對比較和相等性檢查進行了優(yōu)化。

Program.cs使用以下代碼填充:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

var userAddedCreditScores = new List<CreditScore>();

app.MapGet("/creditscore", () =>
{
    var score = new CreditScore
    (
        Random.Shared.Next(300, 850)
    );
    return score;
});

app.MapPost("/creditscore", (CreditScore score) => {
    userAddedCreditScores.Add(score);
    return score;
});

app.MapGet("/userAddedCreditScores", () => userAddedCreditScores);

app.Run();

record CreditScore(int Score)
{
    public string? CreditRating
    {
        get => Score switch
        {
            >= 800 => "Excellent",
            >= 700 => "Good",
            >= 600 => "Fair",
            >= 500 => "Poor",
            _ => "Bad"
        };
    }
}

如前所述,我們的代碼首先為 Web 應用程序創(chuàng)建一個構(gòu)建器對象,然后使用它來構(gòu)建應用程序?qū)嵗?。它還定義了一個record名為 的類型,該類型CreditScore具有一個名為 的單個屬性Score和一個名為 的只讀屬性CreditRating。這可能看起來有點奇怪,因為我們在使用記錄后定義了它。但是,這是由于命名空間造成的,并且record必須在命名空間之外定義WebApplication。

app.MapGet()該應用程序使用和方法公開多個端點app.MapPost()。第一個端點/creditscore是一個生成分數(shù)在 300 到 850 之間的GET新隨機對象的方法。我們將為同一端點定義一個方法,該方法接受請求正文中的對象,將其添加到名為 的列表中,并返回與調(diào)用者相同的對象。另一個端點是 GET 方法,它返回已添加到 的所有對象的列表。CreditScorePOSTCreditScoreuserAddedCreditScoresCreditScore/userAddedCreditScoresCreditScoreuserAddedCreditScores

最后,應用程序開始使用 運行app.Run()。

運行和測試 API

編寫好代碼后,運行以下命令來編譯并運行我們的項目:

dotnet run

該 API 現(xiàn)已投入使用并準備進行測試。運行前面的命令后,您將在控制臺中看到哪個端口已用于托管您的 API。Properties > launchSettings.json您可以通過編輯文件或添加編輯app.Run()命令來定義要使用的端口,Program.cs如下所示,將 3000 替換為所需的端口號:

app.Run("http://localhost:3000");

您可以使用 Postman 等工具向 API 發(fā)送 HTTP 請求。對我來說,獲得信用評分的終點是localhost:5242/creditscore。當您向此端點發(fā)送請求時,您應該收到200 OK狀態(tài)代碼、隨機數(shù)生成器生成的信用評分以及信用評級。

 API 發(fā)送 HTTP 請求

我們可以通過向端點發(fā)送 POST 請求來保存信用評分creditscore。我們用一個對象構(gòu)成請求的主體CreditScore

構(gòu)成請求的主體CreditScore

最后,我們可以通過向端點發(fā)送 GET 請求來檢索所有添加的分數(shù)/userAddedCreditScores。

發(fā)送 GET 請求

總結(jié)一下,我們使用.NET Core 7和ASP.NET開發(fā)了一個基本的RESTful最小API。

這段代碼可以為您的應用程序創(chuàng)建更復雜的API提供基礎(chǔ)。隨著您繼續(xù)開發(fā)API,您可能希望考慮實施安全措施,如API密鑰、與API網(wǎng)關(guān)集成、監(jiān)控API的使用情況或通過API的變現(xiàn)來產(chǎn)生收入。


到此這篇關(guān)于使用.NET Core 7構(gòu)建一個簡潔的RESTful Minimal API的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

原文地址:http://www.zghlxwxcb.cn/article/459.html

如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請聯(lián)系站長進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • ChatGPT Plugin 插件開發(fā):基于 ASP.NET Core Minimal API

    ChatGPT Plugin 插件開發(fā):基于 ASP.NET Core Minimal API

    這是一篇ChatGPT插件開發(fā)教程,描述如何使用 ASP.NET Core Minimal API 開發(fā) ChatGPT 插件,以最簡單的 Todo List 指導示例作為入門教程。 這個Todo List插件主要功能是以自然語言的方式向ChatGPT發(fā)起指令,ChatGPT將根據(jù)合適的時機選擇調(diào)用此插件。例如:我明天下午3點有一個會議,請幫我

    2024年02月02日
    瀏覽(21)
  • ASP.NET Core 中基于 Minimal APIs 的Web API

    Minimal APIs 是ASP.NET Core中快速構(gòu)建 REST API 的方式,可以用最少的代碼構(gòu)建全功能的REST API。比如下面三行代碼: 可以實現(xiàn)在請求網(wǎng)站根目錄結(jié)點的時候,返回\\\"Hello World!\\\"。 這種方式的Web API可以用于構(gòu)建微服務,極簡功能的網(wǎng)站。 下面代碼,將幾個 HTTP 請求的 url映射到 Lambda

    2024年02月10日
    瀏覽(25)
  • 詳解 .Net6 Minimal API 的使用方式

    隨著 .Net6 的發(fā)布,微軟也改進了對之前 ASP.NET Core 構(gòu)建方式,使用了新的 Minimal API 模式。以前默認的方式是需要在 Startup 中注冊 IOC 和中間件相關(guān),但是在 Minimal API 模式下你只需要簡單的寫幾行代碼就可以構(gòu)建一個 ASP.NET Core的Web 應用,可謂非常的簡單,加之配合 c# 的 glob

    2024年02月08日
    瀏覽(25)
  • 解釋 RESTful API,以及如何使用它構(gòu)建 web 應用程序

    ???????? RESTful API stands for Representational State Transfer Application Programming Interface. It is a set of principles and guidelines for building web services that provide data in a standard format, typically JSON or XML. RESTful API emphasizes on uniformity, scalability, reliability, performance, and flexibility. It operates on HTTP and follo

    2024年02月14日
    瀏覽(37)
  • 解釋 RESTful API,以及如何使用它構(gòu)建 web 應用程序。

    RESTful API是一種利用HTTP協(xié)議進行通信的Web API設(shè)計風格,它采用了一組統(tǒng)一且可緩存的操作,包括GET、POST、PUT、DELETE等,通過URL來定位資源,以及使用JSON、XML等格式來傳輸數(shù)據(jù),以實現(xiàn)系統(tǒng)之間的數(shù)據(jù)交互和資源共享。 使用RESTful API構(gòu)建Web應用程序,首先需要設(shè)計API的URL、

    2024年02月11日
    瀏覽(41)
  • 一個基于.NET Core構(gòu)建的簡單、跨平臺、模塊化的商城系統(tǒng)

    一個基于.NET Core構(gòu)建的簡單、跨平臺、模塊化的商城系統(tǒng)

    今天大姚給大家分享一個基于.NET Core構(gòu)建的簡單、跨平臺、模塊化、完全開源免費(MIT License)的商城系統(tǒng):Module Shop。 商品:分類、品牌、單位、選項(銷售屬性)、屬性、屬性模板、屬性組。 銷售:訂單、物流。 內(nèi)容:首頁配置、評論、回復。 配置:國家、用戶、倉庫

    2024年03月27日
    瀏覽(1131)
  • 使用 Python 和 Flask 構(gòu)建簡單的 Restful API 第 1 部分

    使用 Python 和 Flask 構(gòu)建簡單的 Restful API 第 1 部分

    ????????我將把這個系列分成 3 或 4 篇文章。在本系列的最后,您將了解使用flask構(gòu)建 restful API 是多么容易。在本文中,我們將設(shè)置環(huán)境并創(chuàng)建將顯示“Hello World”的終結(jié)點。 ????????我假設(shè)你的電腦上安裝了python 2.7和pip。我已經(jīng)在python 2.7上測試了本文中介紹的代碼,

    2024年02月13日
    瀏覽(23)
  • 什么是RESTful API,以及如何它使用構(gòu)建 web 應用程序(InsCode AI 創(chuàng)作助手)

    RESTful API 是一種基于 REST(Representational State Transfer,表征狀態(tài)轉(zhuǎn)移) 架構(gòu)風格的 API,它使用 HTTP 協(xié)議的方法(GET,POST,PUT,DELETE)來實現(xiàn)資源的創(chuàng)建、讀取、更新和刪除。通過這種方式,API 可以更加簡單和靈活,使得不同編程語言之間的交互更加容易。 使用 RESTful API 構(gòu)建

    2024年02月09日
    瀏覽(33)
  • 后端 .net7 Minimal API 限流中間件(微信小程序無師自通十)

    ????????我的微信小程序使用.net7 Minimal API 作為后端,當服務器擺上公網(wǎng)后,可以觀察到很多的攻擊行為和暴力訪問。所以,我需要使用微軟的限流中間件部署相應的功能在服務器上 : AddFixedWindowLimiter using Microsoft.AspNetCore.RateLimiting; using System.Threading.RateLimiting; 后端

    2024年02月12日
    瀏覽(26)
  • .Net Core webapi RestFul 統(tǒng)一接口數(shù)據(jù)返回格式

    .Net Core webapi RestFul 統(tǒng)一接口數(shù)據(jù)返回格式

    在RestFul風格盛行的年代,大部分接口都需要一套統(tǒng)一的數(shù)據(jù)返回格式,那么我們怎么才能保證使用統(tǒng)一的json數(shù)據(jù)格式返回呢,下面給大家簡單介紹一下: 假如我們需要接口統(tǒng)一返回一下數(shù)據(jù)格式: json對象中data是返回的實際結(jié)果對象,可以是一個對象、一個list、一個字符串

    2024年01月16日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包