以前的接口文档工具叫Swagger,后来Swagger规范捐献给了Linux基金会下的OpenAPI Initiative(OAI) 组织,而后规范就由OAI维护,规范名称也改为了OpenAPI
从.NET 9开始,asp.net core的WebApi模板就不再包含Swashbuckle了,同时也不包含SwaggerUI了,生成接口文档的活由Microsoft.AspNetCore.OpenApi(内置)提供,但是用来方便调试的SwaggerUI没有再默认配置,现在得手动配置了
# 安装Scalar.AspNetCore包
dotnet add package Scalar.AspNetCore
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.OpenApi;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.OpenApi.Models;
using Scalar.AspNetCore;
var builder = WebApplication.CreateBuilder();
builder.Services.AddOpenApi();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
// 启用Scalar
app.MapScalarApiReference();
}
app.MapGet("/", () => "Hello world!");
app.Run();
因为没有了swaggerUI,自动打开浏览器也没有了,也需要修改回来,在Properties/launchSettings.json中修改
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "scalar",
"applicationUrl": "http://localhost:5157",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
修改launchBrowser和launchUrl,这两个分别控制启动时是否打开浏览器和打开浏览器后默认的路由