我正在嘗試根據
我已經盡可能地關注 Microsoft 檔案鏈接,我沒有看到任何我可能錯過的內容。有誰看到我做錯了什么或錯過了什么?
(附加資訊:使用 .NET 5 并通過 Kestrel 加載)
uj5u.com熱心網友回復:
你能改成 SecuritySchemeType.ApiKey 嗎?
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1",
new OpenApiInfo
{
Version = "v1",
Title = "My API",
Description = "My API",
Contact = new OpenApiContact
{
Name = "User",
Email = string.Empty,
Url = new Uri("https://github.com"),
}
});
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "Ex: Bearer {token here}",
Name = "Authorization",
Scheme = "Bearer",
BearerFormat = "JWT",
In = ParameterLocation.Header,
Type = SecuritySchemeType.ApiKey,
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference {Type = ReferenceType.SecurityScheme, Id = "Bearer"}
},
new string[] { }
}
});
});
uj5u.com熱心網友回復:
我想通了這個問題,如果你問我就很模糊。無論如何,這個 StackOverflow 答案幫助了我,基本上是我的問題。
添加時SwaggerGen,第一個引數名稱
setupAction.SwaggerDoc(
"Open API Specification for Haros v1", //... etc
)
在此處插入中間件部分生成檔案的 URL:
setupAction.SwaggerEndpoint("/swagger/<from swagger doc name parameter>/swagger.json", "Haros API v1");
如果你這樣做:
setupAction.SwaggerDoc(
"v1", //... etc
)
這樣做:
setupAction.SwaggerEndpoint("/swagger/v1/swagger.json", "Haros API v1");
Swagger 將在兩個端點 (https://localhost:5001/swagger/index.html和https://localhost:5001/swagger/v1/swagger.json)上成功加載
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431770.html
