NET8 Web API 框架: Swagger + Rin + Healthz
NET8 + Swagger + Rin + Healthz
Net8 + Swagger + Rin + Healthz
Web API 基礎框架
NET8 - 執行平台
Swagger - Web API 說明文件。預計只用開發時期。 若組織成功預設畫面多一個
swagger/index.html
網頁說明 API 封包。Rin - 監看封包。預計只用開發時期。 若組織成功預設畫面多一個
rin
網頁監看 HTTP 封包。Healthz - 網站健康狀態檢查。 若組織成功預設多一個
healthz
網址做網站健檢。
關於 Swagger 與 Healthz 均已介紹過不再說明。
關於 Rin
Request/response Inspector middleware for ASP.NET Core. like Glimpse.
Rin 教學
沒圖沒真象

完整原始碼
補充 on 2024-09-27
讓 Swagger UI 夾帶 Bearer AccessToken
在 Swagger UI 加上驗證按鈕,讓 Request Header 傳遞 Authorize Token。
說明直接參考下面文章:
關鍵碼紀錄
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.OpenApi.Models;
using Serilog;
var builder = WebApplication.CreateBuilder(args);
#region §§ Add services to the container. ------------------------------------
//# 註冊服務
builder.Services.AddControllers();
//# 讓 Swagger UI 夾帶 Bearer AccessToken.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(options =>
{
// 定義 Authorization 輪入欄位
options.AddSecurityDefinition("Bearer",
new OpenApiSecurityScheme
{
Name = "Authorization",
Type = SecuritySchemeType.ApiKey,
Scheme = "Bearer",
BearerFormat = "JWT",
In = ParameterLocation.Header,
Description = "JWT Authorization"
});
// 把定義好的輪入欄位加到 UI
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
},
new string[] {}
}
});
});
var app = builder.Build();
...略...
(EOF)
Last updated