精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

DotNET 7:最小 API 使用,你知道嗎?

開發(fā) 架構(gòu)
對于一些簡單的接口場景,使用最小 API 比較方便,都在一個文件中處理;除了依賴注入式通過方法參數(shù),其他很多地方跟之前用法類似,就是將 Startup 中 ConfigureServices 方法和 Configure 方法搬到了 Program 類的固定位置。

最小 API 并不是在 .NET 7 中才加入的,記得應(yīng)該是在 .NET 6 中就已經(jīng)提供,只是對我來說,到現(xiàn)在才開始使用。

創(chuàng)建一個最小 API

在 VS 2022 中創(chuàng)建 WebAPI 項(xiàng)目,不勾選使用控制器,創(chuàng)建出來的就是最小 API :

圖片

  • 不勾選使用控制器,就會創(chuàng)建最小 API 模板。
  • 啟用 OpenAPI ,默認(rèn)會添加 Swagger。
  • 頂級語句:頂級語句是 C# 9.0 中添加的新特性,如果勾選不使用,Program 類中還會出現(xiàn) main 函數(shù)。

創(chuàng)建出來的工程只有兩個文件,重大的改變就是,沒有之前的 Startup 類了,只有一個 Program 和一個配置文件 appsetting.json:

圖片

Program 類的全部代碼如下:

var builder = WebApplication.CreateBuilder(args);
//在下面添加服務(wù)器到容器,相當(dāng)于之前 Startup 類中的 ConfigureServices 方法
var app = builder.Build();
//在下面編寫管道相關(guān)代碼,相當(dāng)于之前 Startup 類中的 Configure 方法
//在下面編寫接口,相當(dāng)于之前 Controller 中的方法
var summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
app.MapGet("/weatherforecast", () =>
{
var forecast = Enumerable.Range(1, 5).Select(index =>
new WeatherForecast
(
DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
Random.Shared.Next(-20, 55),
summaries[Random.Shared.Next(summaries.Length)]
))
.ToArray();
return forecast;
});

//運(yùn)行 API
app.Run();

internal record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

app.MapGet 方法接受兩個參數(shù),第一個參數(shù)是一個字符串,為接口的訪問路徑,第二個參數(shù)是一個委托,用來編寫接口的業(yè)務(wù)邏輯。

從 MapGet 這個方法名可以看出,這是一個 Get 請求的接口方法,如果要使用 Post ,可以使用 MapPost 。

添加一個接口方法非常簡單,如下圖:

圖片

使用 Serilog 日志框架

1、安裝 NuGet 包:Serilog.AspNetCore,安裝這一個就會包含 Serilog 、Serilog.Sink.File 等。

2、在 Program 類的 builder 創(chuàng)建之后,添加對 Serilog 的使用:

using Serilog;
var builder = WebApplication.CreateBuilder(args);
//在下面添加服務(wù)器到容器,相當(dāng)于之前 Startup 類中的 ConfigureServices 方法
//添加對 serilog 的使用
builder.Host.UseSerilog((hostContext, services, configuration) => {
configuration
.WriteTo.File("serilog-file.txt")
.WriteTo.Console();
});
var app = builder.Build();
// 下面代碼省略

3、運(yùn)行程序,會看到項(xiàng)目更目錄下會生成一個 serilog-file.txt 文本文件,里面記錄了所有日志。

4、在上面添加的 helloworld 方法中使用日志:

app.MapGet("/helloworld", () => 
{
Log.Information("helloworld.start");
return "hello ,oec2003";
});
  • Information 是日志級別,還有 Error、Warning、Fatal、Debug。
  • 接口方法調(diào)用后,日志會寫入文本文件。

依賴注入

依賴注入一個常見的做法是使用構(gòu)造函數(shù)進(jìn)行注入,傳統(tǒng)的 WebAPI 中可以在 Controller 的構(gòu)造函數(shù)中進(jìn)行,但最小 API 沒有 Controller ,下面看看在最小 API 中是怎么注入的。

1、在 Program 類的最下面添加 IUser 接口和 User 類:

internal interface IUser
{
string GetName();
}
internal class User : IUser
{
public string GetName()
{
return "oec2003";
}
}

2、在 Program 類的 builder 創(chuàng)建之后,添加依賴注入的配置:

builder.Services.AddTransient<IUser, User>();

3、注入的地方由原來的構(gòu)造函數(shù)變成了方法參數(shù):

app.MapGet("/helloworld",  (IUser user) => 
{
return $"hello , {user.GetName()}";
});

配置

最小 API 的項(xiàng)目中的兩個文件,其中一個就是 appsetting.json 配置文件,下面以 Serilog 日志框架的配置為例,來演示怎樣讀取配置文件。

1、在上面的 Serilog 例子中,配置是在代碼中寫死的,現(xiàn)在將配置移到 appsetting.json 配置文件中。

"Serilog": {
"MinimumLevel": "Information",
"Override": {
"Microsoft.AspNetCore": "Warning"
},
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "File",
"Args": {
"path": "Serilogs\\serilog.log"
}
}
]
}

2、修改 builder 部分的代碼:

builder.Host.UseSerilog(
(hostingContext, loggerConfiguration) => loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration));

3、運(yùn)行程序后,在程序根目錄下會創(chuàng)建 Serilogs 目錄,該目錄中會創(chuàng)建 serilog.log 文件。

總結(jié)

1、對于一些簡單的接口場景,使用最小 API 比較方便,都在一個文件中處理。

2、除了依賴注入式通過方法參數(shù),其他很多地方跟之前用法類似,就是將 Startup 中 ConfigureServices 方法和 Configure 方法搬到了 Program 類的固定位置。

責(zé)任編輯:姜華 來源: 不止dotNET
相關(guān)推薦

2024-07-30 08:22:47

API前端網(wǎng)關(guān)

2024-10-24 08:47:12

2020-10-08 18:58:46

條件變量開發(fā)線程

2023-08-29 09:31:01

Scrapy網(wǎng)頁爬蟲

2024-04-07 00:00:00

ESlint命令變量

2024-05-28 09:12:10

2023-04-26 10:21:04

2023-12-12 08:41:01

2024-04-30 09:02:48

2023-12-20 08:23:53

NIO組件非阻塞

2023-04-23 09:50:50

@BeanSpring

2023-04-28 12:37:59

Spring@Bean使用方式

2023-11-06 18:33:19

分庫分表數(shù)據(jù)庫

2022-11-04 14:16:05

2024-07-08 00:00:01

多線程ThreadC#

2020-02-20 08:30:49

OSPF網(wǎng)絡(luò)協(xié)議路由協(xié)議

2023-01-13 17:02:10

操作系統(tǒng)鴻蒙

2023-03-21 07:39:51

CentOS掛載硬盤

2022-12-02 14:12:52

新能源汽車海爾

2022-11-28 00:04:17

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

eeuss中文| 国产欧美日韩精品在线观看 | 国产真实乱在线更新| 国产aa精品| 精品久久久香蕉免费精品视频| 欧美日韩亚洲免费| 国产精品久久久久久免费 | 99精品视频免费看| 99在线精品免费视频九九视| 最好看的2019年中文视频| 久久久国产精品久久久| 三上悠亚激情av一区二区三区 | 成人国产精品免费观看视频| 国产999精品久久久| 日本天堂中文字幕| 精品一区二区三| 精品盗摄一区二区三区| 日韩无套无码精品| av小说在线播放| 国产精品乱人伦中文| 国产麻豆日韩| 99国产精品久久久久久久成人| 久久av一区| 欧美激情在线一区| 国产传媒视频在线| 免费成人结看片| 精品国产一区久久| 手机精品视频在线| 成人免费一区| 91久久精品一区二区二区| 欧美成人午夜剧场免费观看| 欧美丰满少妇人妻精品| 日韩精品视频中文字幕| 欧美日韩一二三区| 国产真实乱子伦| av手机在线观看| 亚洲精品视频在线| 亚洲一区二区自拍偷拍| 激情福利在线| 91免费视频网| 精品日本一区二区三区| 亚洲欧美另类视频| 成人做爰69片免费看网站| 91精品视频在线看| 国产又粗又猛又黄又爽| 免费人成黄页网站在线一区二区| 日本亚洲欧美成人| 日本视频在线观看免费| 国产精品日韩精品欧美精品| 久久欧美在线电影| 日本中文字幕在线免费观看| 狠狠入ady亚洲精品经典电影| 欧美成人精品一区| 久久精品黄色片| 欧美激情综合色综合啪啪| 久久精品国产久精国产思思| 五月天色婷婷丁香| 综合激情一区| 欧美韩日一区二区| 亚洲国产精品午夜在线观看| 亚洲第一精品影视| 68精品久久久久久欧美| 国产乱国产乱老熟| 日韩经典中文字幕一区| 国产精品毛片a∨一区二区三区|国| 国产又粗又猛又黄视频| 日韩精品一区第一页| 国产精品69av| 亚洲天堂视频在线| 国产乱子伦一区二区三区国色天香| 成人免费高清完整版在线观看| 国产裸体无遮挡| 国产成人在线视频播放| 国产精品日韩一区二区| 午夜福利视频一区二区| 久久久久国产精品免费免费搜索| 午夜视频久久久| 成年人网站在线| 亚洲一区视频在线| 国内外成人激情视频| 8av国产精品爽爽ⅴa在线观看 | 欧美在线视频免费播放| 国产一区二区视频网站| 麻豆91在线看| 国产精品日本一区二区| 国产裸舞福利在线视频合集| 亚洲视频狠狠干| 免费 成 人 黄 色| yy6080久久伦理一区二区| 欧美一卡二卡三卡| 国产精品815.cc红桃| 国产精品久久占久久| 久久久在线免费观看| 国产成人a v| 国产a久久麻豆| 欧美动漫一区二区| 超碰个人在线| 日韩欧美在线播放| 久久久久亚洲av无码麻豆| 妖精视频一区二区三区免费观看| 日韩中文在线观看| 国偷自拍第113页| 极品销魂美女一区二区三区| 国产精品swag| 97视频精彩视频在线观看| 亚洲一区在线观看网站| 亚洲天堂av线| 欧美日韩夜夜| 欧美猛少妇色xxxxx| 黄色大全在线观看| 成人精品一区二区三区中文字幕| 中文字幕剧情在线观看一区| 成人美女大片| 亚洲精品一区二区在线观看| 欧美性生交大片| 亚洲一区二区毛片| 不卡视频一区二区| 国产黄色小视频在线| 色综合 综合色| 完美搭档在线观看| 伊人情人综合网| 国产精品视频在线播放| 免费资源在线观看| 激情av一区二区| 亚洲成人福利视频| 亚洲欧美在线专区| 国产欧美精品va在线观看| 激情在线视频| 日韩欧美成人网| 日韩精品人妻中文字幕有码| 91精品久久久久久久蜜月 | 精品亚洲a∨一区二区三区18| 国产亚洲欧洲在线| xxxx.国产| 成人三级在线视频| 成人免费看片'免费看| 国产乱码精品一区二区三区亚洲人| 国产亚洲xxx| 久久久久久在线观看| 26uuu精品一区二区在线观看| 亚洲熟妇无码一区二区三区导航| 视频国产精品| 欧美激情在线观看| 亚洲高清视频网站| 亚洲影院久久精品| 美女流白浆视频| 国产精品大片| 国产精品免费区二区三区观看| 色呦呦在线播放| 欧美草草影院在线视频| 久久久国产成人| 高潮精品一区videoshd| 欧美中日韩在线| 成人自拍在线| 91国偷自产一区二区三区的观看方式| 污视频网站免费观看| 红桃av永久久久| 最新中文字幕视频| 日韩高清不卡一区| 永久久久久久| 一区二区三区视频播放| 久久青草福利网站| 你懂的在线网址| 在线观看91视频| 亚洲欧美精品久久| 国产剧情一区在线| 久久精品国产sm调教网站演员| 老牛影视av一区二区在线观看| 国产91精品高潮白浆喷水| 黄视频在线播放| 欧美高清你懂得| 劲爆欧美第一页| 久久亚洲一区二区三区明星换脸| 91人人澡人人爽人人精品| 天天综合久久| 俄罗斯精品一区二区| 中文在线а√天堂| 日韩中文在线观看| 殴美一级特黄aaaaaa| 日韩欧美国产视频| 99久久99久久精品国产| www.66久久| 日韩精品你懂的| 欧美国产另类| 欧美精品二区三区四区免费看视频 | 一级黄色录像在线观看| 欧美日韩国产在线一区| 久久综合久久久| 国产aⅴ精品一区二区四区| 海角国产乱辈乱精品视频| 久久99久久| 欧美tk—视频vk| 无码人妻熟妇av又粗又大| 亚洲色图欧美偷拍| 亚洲国产果冻传媒av在线观看| 免费在线观看精品| 九一国产精品视频| 91一区二区三区四区| 久久99热只有频精品91密拍| 福利视频亚洲| 51色欧美片视频在线观看| 黄色网址在线免费观看| 亚洲美女激情视频| 国产成人精品免费看视频| 色天使色偷偷av一区二区| 妺妺窝人体色www聚色窝仙踪| 国产日韩欧美不卡| 午夜av免费看| 国产99久久精品| 91插插插影院| 日韩精品一区第一页| 欧美 日韩 亚洲 一区| 天堂美国久久| 日韩欧美一区二区在线观看| 精品欧美午夜寂寞影院| 亚洲一区二区在线| 国产亚洲精彩久久| 日本一本a高清免费不卡| 超级碰碰不卡在线视频| 欧美xxxx做受欧美| 免费高清在线观看| 在线播放精品一区二区三区| 你懂的在线播放| 日韩禁在线播放| 懂色av一区二区三区四区| 69堂亚洲精品首页| 在线免费看av的网站| 日本精品视频一区二区三区| 国产 欧美 日韩 在线| 亚洲午夜成aⅴ人片| 日本a级片视频| 亚洲人妖av一区二区| 亚洲aaa视频| 中文字幕第一区综合| 国产免费无遮挡吸奶头视频| 久久亚洲影视婷婷| 91视频在线网站| 久久精品在线免费观看| 久久无码人妻精品一区二区三区| 成人免费视频国产在线观看| 久久黄色一级视频| 国产丶欧美丶日本不卡视频| 夜夜夜夜夜夜操| 狠狠色丁香久久婷婷综合_中| 亚洲色图偷拍视频| 精品一区二区三区久久久| www.色欧美| 国产一区二区三区香蕉 | 99久久免费视频.com| 在线观看亚洲免费视频| 成人禁用看黄a在线| 久久久午夜精品福利内容| 99九九99九九九视频精品| 亚洲久久久久久| 久久综合久色欧美综合狠狠| 性少妇bbw张开| 国产精品丝袜一区| 国产高潮流白浆| 亚洲国产日日夜夜| 91美女免费看| 欧美中文一区二区三区| 国产精品毛片一区二区在线看舒淇| 91精品国产综合久久久久久久| 99视频免费看| 亚洲国产日韩欧美在线图片| 九色蝌蚪在线| 日韩少妇与小伙激情| 亚洲区欧洲区| 欧美一区二区三区免费视| 日本一区二区电影| 91在线免费观看网站| 国产乱论精品| 日日骚一区二区网站| 亚洲色图网站| 777精品久无码人妻蜜桃| 日本亚洲三级在线| 久久久久久无码精品人妻一区二区| 91在线视频播放| 亚洲aaa视频| 亚洲成a人片在线观看中文| 青青国产在线视频| 日韩一二三区不卡| 免费在线超碰| 久99久在线视频| 345成人影院| 亚洲伊人久久综合| 性人久久久久| 成人在线观看www| 西西人体一区二区| 色婷婷一区二区三区在线观看| 成人精品鲁一区一区二区| 国产毛片欧美毛片久久久| 亚洲最大色网站| 国产精品欧美综合| 亚洲国产私拍精品国模在线观看| 日本中文字幕电影在线免费观看 | 亚洲人免费短视频| 91一区二区三区| 精品国产网站| 国产不卡一区二区视频| 国产在线一区二区综合免费视频| 精品黑人一区二区三区观看时间| 亚洲人成伊人成综合网小说| 综合网在线观看| 日韩精品一区二区在线观看| 91xxx在线观看| 日本成人黄色片| 国产成人一二| 中国黄色录像片| 欧美a级一区二区| free性中国hd国语露脸| 一区二区三区欧美亚洲| 在线观看视频二区| 亚洲视频在线观看网站| caoporn视频在线| 91手机在线播放| 日韩欧美一区二区三区免费看| 久热免费在线观看| 成人精品免费看| 久久丫精品久久丫| 69堂亚洲精品首页| 素人av在线| 国产精品久久久久免费a∨大胸| 日韩精品免费一区二区夜夜嗨| 欧美高清中文字幕| 狠狠色伊人亚洲综合成人| 欧美激情视频二区| 日本乱人伦一区| 欧美日韩伦理片| 欧美亚洲另类在线| 一区二区小说| 波多野结衣50连登视频| 99久久精品国产观看| 国产精品成人久久| 亚洲成年人在线| av蜜臀在线| 成人午夜电影免费在线观看| 中文字幕一区二区三区在线视频| 久久综合桃花网| 亚洲另类一区二区| 亚洲国产精品久久久久久6q| 欧美成人sm免费视频| 久久视频免费| 香港三级日本三级a视频| 国产91精品欧美| 国产亚洲欧美久久久久| 精品国产成人系列| ****av在线网毛片| 久久99久久99精品蜜柚传媒| 国产一区二区三区久久| 亚洲综合网在线观看| 91福利视频在线| 在线视频婷婷| 亚洲一区二区三区成人在线视频精品| 一本到12不卡视频在线dvd| 麻豆精品国产传媒| 亚洲国产精品久久人人爱| 天天干天天爽天天操| 欧美在线一区二区视频| 精品国产成人| 日本精品一区在线| 夜夜精品浪潮av一区二区三区| 亚洲av色香蕉一区二区三区| 91精品国产99久久久久久| 国产欧美一区二区三区精品观看| 中文字幕国产免费| 亚洲综合一区在线| 青春有你2免费观看完整版在线播放高清| 全亚洲最色的网站在线观看| 成人3d动漫在线观看| 中文字幕在线视频一区二区三区| 亚洲一区二区三区小说| 欧美日韩激情视频一区二区三区| 国产美女久久精品香蕉69| 亚洲在线久久| 亚洲午夜久久久久久久久红桃 | 欧美又大又硬又粗bbbbb| 欧美日韩精品在线一区| 超碰在线超碰在线| 欧美日韩午夜激情| 一级毛片视频在线观看| 国产成人精品福利一区二区三区| 欧美一级二区| h色网站在线观看| 亚洲精品国产综合久久| 欧美成人家庭影院| 国产午夜大地久久| 国产精品国产三级国产aⅴ中文| 亚洲福利在线观看视频| 国产精品极品美女粉嫩高清在线| 欧美福利网址| 国产精品www爽爽爽| 日韩久久精品一区| 国产毛片精品久久| av之家在线观看| 亚洲视频你懂的| 精品资源在线看| 高清国产一区| 久久国产人妖系列| 青青青国产在线|