精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

精品日本12videosex| 欧洲美女少妇精品| 亚洲一区国产一区| 亚洲片av在线| 亚洲综合123| 久久久女女女女999久久| 精品国产免费人成电影在线观看四季| 精品少妇人妻av一区二区| 亚洲国产av一区二区| 久久aⅴ国产紧身牛仔裤| 中文字幕最新精品| 欧美成人三级伦在线观看| 国产精品高潮久久| 天涯成人国产亚洲精品一区av| 视频一区二区三区免费观看| 不卡视频免费在线观看| 日韩av一二三| 欧美激情网站在线观看| 免费看91的网站| 久久夜色电影| 欧美一区二区三区小说| 国产99久久九九精品无码| 在线播放麻豆| 久久亚洲一区二区三区四区| 1卡2卡3卡精品视频| 亚洲最大成人网站| 亚洲一卡二卡在线观看| 欧美日韩国产高清| 国产网站欧美日韩免费精品在线观看| 日韩不卡的av| 成人在线观看免费视频| 日韩欧美高清视频| 国产玉足脚交久久欧美| 黄网站app在线观看| 国产午夜亚洲精品午夜鲁丝片| 国产精品日韩二区| 国产美女裸体无遮挡免费视频| 蜜桃伊人久久| 97久久国产精品| 黄色一级片在线| 亚洲影视一区| 久久韩剧网电视剧| 日本美女bbw| 亚洲激情播播| 日韩精品亚洲精品| www.88av| 日韩精品导航| 日韩久久精品电影| 欧美videos中文字幕| 欧美日韩影院| 日韩精品不卡一区二区| 欧美精品v国产精品v日韩精品| 尤物av无码色av无码| 久久99亚洲网美利坚合众国| 中文字幕在线不卡国产视频| 亚洲ai欧洲av| 95在线视频| 国产精品免费看片| 中文字幕欧美日韩一区二区三区| a视频网址在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 日韩黄色影视| 最新国产在线观看| 中文字幕一区二区三区不卡在线| 亚洲天堂电影网| av成人手机在线| 国产精品久久久久国产精品日日| 亚洲电影网站| 老司机在线看片网av| 久久三级福利| 欧美精品一区二区高清在线观看 | 欧美三级免费观看| 久久久久狠狠高潮亚洲精品| 日本电影欧美片| 欧美日韩一级二级| 激情图片中文字幕| 亚洲成人五区| 亚洲精品狠狠操| 我不卡一区二区| 伊人久久大香线蕉综合四虎小说| 欧美人与性动交| 日韩人妻无码一区二区三区99| 在线亚洲成人| 国产免费亚洲高清| 国产后入清纯学生妹| 97久久超碰国产精品| 热re99久久精品国99热蜜月| 日本成人网址| 亚洲第一成人在线| 日韩精品一区二区三区色欲av| 日本精品网站| 精品久久久久久久久久久久久久久久久 | 国产91av视频| 日韩高清在线不卡| 亚洲自拍小视频| 天堂中文在线8| 国产精品美女一区二区三区| 99久久国产综合精品女不卡| 国产自摸综合网| 成人免费视频国产| 国产亚洲精品bt天堂精选| 97超碰人人爱| 亚洲wwww| 亚洲国产精品99久久| 成人一级片免费看| 中文精品在线| 成人性生交xxxxx网站| 亚洲人午夜射精精品日韩| 国产精品美女久久久久av爽李琼 | 在线日韩欧美| 成人福利视频在线观看| 无码h黄肉3d动漫在线观看| 国产精品电影一区二区三区| 热99这里只有精品| 成人在线精品| 国产一区二区三区免费视频| 亚洲精品午夜久久久久久久| 久久国产精品第一页| 精品视频第一区| 手机电影在线观看| 欧美日韩激情在线| 中文字幕第4页| 韩日精品视频| 成人激情春色网| 国产高清在线观看| 欧美日韩精品二区| 久久久久久久高清| 成人在线电影在线观看视频| 8x海外华人永久免费日韩内陆视频| 国产精品久久无码一三区| 国产网站一区二区三区| 欧美啪啪免费视频| 成人自拍在线| 九九视频直播综合网| 91女人18毛片水多国产| 国产日韩在线不卡| 免费在线观看的av网站| 成人在线视频中文字幕| 欧美多人乱p欧美4p久久| 国产又粗又猛又黄| 国产精品午夜在线观看| 免费在线观看的毛片| 亚洲国产欧美日韩在线观看第一区 | 欧美精品在线视频| av资源在线免费观看| 免费成人在线影院| 亚洲伊人婷婷| 外国成人毛片| 日韩色av导航| 国产美女免费看| 一区二区三区中文字幕| 亚洲国产精品人人爽夜夜爽| 蜜臀av一区二区三区有限公司| 亚洲大片av| 国产在线一区二区三区四区| 国产91足控脚交在线观看| 精品日韩一区二区三区免费视频| 国产探花在线免费观看| 国产精品亚洲人在线观看| 欧美日韩dvd| 91国内精品白嫩初高生| 高清视频欧美一级| 好吊视频一二三区| 日韩欧美中文第一页| 免费一级做a爰片久久毛片潮| 美女精品网站| 色综合久久久久久久久五月| 日韩免费小视频| 日韩在线视频观看| www.黄色小说.com| 亚洲成av人片一区二区梦乃| 久久久久9999| 日韩在线观看一区二区| 中文有码久久| aaa国产精品视频| 日本亚洲欧美成人| 婷婷在线视频| 日韩精品中文字幕在线不卡尤物| 男人天堂中文字幕| 国产精品探花在线观看| 欧美性猛交xxxx乱大交3| 最新国产精品自拍| 香蕉成人久久| 欧美亚洲视频一区| 精品亚洲自拍| 91精品久久久久久久久久另类| 色呦呦视频在线观看| 日韩精品在线私人| 一区二区三区黄色片| 亚洲电影在线免费观看| 丁香花五月婷婷| 高清不卡一区二区在线| 人人爽人人av| 欧美日韩午夜| 亚洲色图自拍| 欧美交a欧美精品喷水| 国产精品网址在线| xxxx成人| 日韩中文字幕精品| 深爱五月激情五月| 欧美高清性hdvideosex| 在线观看亚洲天堂| 亚洲精品国产品国语在线app| 欧美 变态 另类 人妖| 黄色小说综合网站| 北条麻妃在线视频| 亚洲激精日韩激精欧美精品| 亚洲国产一区二区三区在线播 | h片精品在线观看| 最近免费中文字幕视频2019| 人妻夜夜爽天天爽| 欧美久久免费观看| 波多野结衣毛片| 午夜精品福利久久久| 国产十六处破外女视频| 中文字幕高清不卡| 日本少妇xxxx| 国产大片一区二区| 国产精品一区二区小说| 久久久精品性| 欧美成人免费在线观看视频| 欧美~级网站不卡| 亚洲女人毛片| 免费观看黄一级视频| 91丨porny丨中文| 黑人无套内谢中国美女| 蜜桃91丨九色丨蝌蚪91桃色| av免费中文字幕| 一本久道综合久久精品| 人人妻人人澡人人爽欧美一区双| 色777狠狠狠综合伊人| 欧美专区一二三| 亚州av一区| 久久久综合香蕉尹人综合网| 白白在线精品| 国产精品综合久久久久久| 国产va免费精品观看精品| 成人免费黄色网| av日韩久久| 成人免费淫片视频软件| 91国拍精品国产粉嫩亚洲一区 | 一区二区三区视频免费看| 亚洲资源中文字幕| 欧美精品久久久久性色| 尤物视频一区二区| 看片网站在线观看| 一区二区免费看| 久久久精品人妻一区二区三区四| 亚洲欧美日韩国产另类专区| 精品无码久久久久成人漫画| 日韩美女久久久| 欧美性x x x| 亚洲自拍另类综合| 男人的天堂一区| 欧美日在线观看| www.五月婷婷.com| 欧美日韩中文字幕一区| 国产精品久久婷婷| 欧美一区二区三区免费大片| 亚洲精品国产suv一区| 精品少妇一区二区三区免费观看 | av网站免费线看精品| 影音先锋人妻啪啪av资源网站| 91亚洲精品乱码久久久久久蜜桃| 欧美成人午夜精品免费| 国产日产欧美一区| 亚洲欧美另类日本| 亚洲一区二区三区四区五区中文| 国产无码精品一区二区| 欧美色播在线播放| 亚洲午夜在线播放| 日韩欧美国产麻豆| 三级网站在线看| 永久免费看mv网站入口亚洲| 欧美激情办公室videoshd| 欧美日本啪啪无遮挡网站| 9999精品成人免费毛片在线看| 5566成人精品视频免费| 久久免费资源| 国产欧美日韩在线播放| 精品大片一区二区| 黄色一级片国产| 日韩国产成人精品| 国产精品中文久久久久久| 91免费国产在线| 97精品在线播放| 图片区小说区区亚洲影院| 在线观看中文字幕av| 亚洲国产成人在线视频| 国产高清自拍视频在线观看| 欧美夫妻性生活xx| 亚洲日本网址| 国产欧美日韩亚洲| 天天av综合| 免费日韩中文字幕| 国产麻豆视频精品| 久久成人激情视频| 有码一区二区三区| 少妇又紧又色又爽又刺激视频| 日韩欧美一级二级三级| 国产二区视频在线观看| 色综合老司机第九色激情| 欧美aaa视频| 国产精品手机在线| 91一区二区三区四区| 免费无码av片在线观看| 粉嫩av一区二区三区粉嫩| 乐播av一区二区三区| 亚洲超丰满肉感bbw| 在线免费观看一区二区| 国产视频精品久久久| 怡红院av在线| 国产欧美一区二区三区久久人妖| 婷婷激情久久| 国产在线视频综合| 激情欧美一区二区| 在线免费观看视频| 都市激情亚洲色图| 后进极品白嫩翘臀在线视频| 精品国产一区二区三区四区在线观看 | 激情 小说 亚洲 图片: 伦| 99久久精品免费| 久久国产精品波多野结衣av| 欧美日韩免费观看一区三区| 久久久资源网| 97在线免费视频| 精品成人自拍视频| 91免费版看片| 国产一区二区不卡在线| 国产黄色片在线| 欧美视频在线一区二区三区 | 少妇一区二区三区| 一本久道高清无码视频| 国产成人一区在线| 欧美日韩一级大片| 91精品国产综合久久小美女| 欧美18hd| 国产精品丝袜白浆摸在线| 精品一区二区三区中文字幕老牛| 久久久久久久中文| 9i在线看片成人免费| 久久精品亚洲无码| 精品成人一区二区三区| 欧美人与牲禽动交com | 国产精品 欧美在线| 亚洲人成精品久久久| 日韩av一二三四| 亚洲国产高清aⅴ视频| 在线观看视频中文字幕| 日韩中文字幕视频在线| 天天综合在线观看| 欧美少妇一区二区三区| 国产精品主播直播| 国产无遮挡aaa片爽爽| 亚洲经典中文字幕| 日韩欧美看国产| 亚洲高清视频一区二区| 九色|91porny| 九九久久免费视频| 亚洲第一页自拍| 国模冰冰炮一区二区| 日韩精品不卡| 国产在线观看免费一区| 九九热这里有精品视频| 亚洲电影免费观看| videos性欧美另类高清| 神马影院一区二区三区| 蜜桃av噜噜一区| 免费日韩在线视频| 日韩精品免费在线播放| 99久久伊人| 日本老太婆做爰视频| 成人视屏免费看| 欧美一区免费看| 久久精品国产亚洲| 一区二区三区在线免费看| 国产a级一级片| 国产精品视频九色porn| 精品人妻伦一二三区久久| 97久久精品人人澡人人爽缅北| 欧洲激情综合| 性xxxxxxxxx| 在线影院国内精品| 羞羞的视频在线观看| 欧美激情视频一区二区三区| 精品一区二区三区在线观看国产| 亚洲精品午夜久久久久久久| 尤物99国产成人精品视频| aaa国产精品视频| 美女黄色片视频| 亚洲狠狠爱一区二区三区| 国产女主播在线直播| 91精品综合久久| 三级成人在线视频| 久久久久久久蜜桃| 中文国产亚洲喷潮| 露出调教综合另类| 欧美精品色视频| 在线观看亚洲成人| 麻豆av在线免费观看|