学习笔记
Git
  • C#
  • F#
  • AspNetCore
  • EF Core
  • WPF
  • Tauri
  • IoTDB
  • Redis
  • Docker
  • Kubernetes
  • RabbitMQ
  • 日志

    • NLog的配置文件
Linux
  • 基础环境之WSL
基础设施
  • Vue

    • Vue基础
VS Code的插件与玩法
Rust
Python
  • Maven
  • Spring Boot
实际项目
我的博客
Git
  • C#
  • F#
  • AspNetCore
  • EF Core
  • WPF
  • Tauri
  • IoTDB
  • Redis
  • Docker
  • Kubernetes
  • RabbitMQ
  • 日志

    • NLog的配置文件
Linux
  • 基础环境之WSL
基础设施
  • Vue

    • Vue基础
VS Code的插件与玩法
Rust
Python
  • Maven
  • Spring Boot
实际项目
我的博客
  • 基础部分

    • Asp.Net Core在启动时干了什么
    • Asp.Net Core 使用OpenAPI文档
  • 鉴权授权

    • 认证与授权
    • 一个最简单的认证示例
    • 一个简单的鉴权、授权
    • /reference/config.html
  • 好库推荐

    • Polly优雅地处理重试、熔断降级
  • 经验分享

    • .Net使用微信支付

以前的接口文档工具叫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,这两个分别控制启动时是否打开浏览器和打开浏览器后默认的路由

Last Updated:
Contributors: wujuncheng
Prev
Asp.Net Core在启动时干了什么