如何通过 vscode 启动 swagger url?

Har*_*ngh 10 swagger-ui visual-studio-code asp.net-core-webapi

我正在尝试使用 dotnet run 命令在浏览器中启动 swagger UI。这是我在 launch.json 文件中尝试过的内容。预期结果是它应该在指定的 url 处启动浏览器并自动打开 swagger UI。仅供参考,我正在使用 dotnet5 并创建了新的 Web api 项目,该项目已经内置了 swagger。它不会启动浏览器。

在此输入图像描述

在此输入图像描述

在此输入图像描述

小智 15

"uriFormat": "%s/swagger/index.html"
Run Code Online (Sandbox Code Playgroud)

将上面的代码添加到 launch.json 中。

例子:

{
   "name": ".NET Core Launch (web)",
   "type": "coreclr",
   "request": "launch",
   "preLaunchTask": "build",
   "program": "${workspaceFolder}/{your own project root}",
   "args": [],
   "cwd": "${workspaceFolder}/{your own project root}",
   "stopAtEntry": false,
   "serverReadyAction": {
      "action": "openExternally",
      "pattern": "\\bNow listening on:\\s+(https?://\\S+)",
      "uriFormat": "%s/swagger/index.html"
   },
   "env": {
      "ASPNETCORE_ENVIRONMENT": "Development"
   },
   "sourceFileMap": {
      "/Views": "${workspaceFolder}/Views"
   }
},
{
   "name": ".NET Core Attach",
   "type": "coreclr",
   "request": "attach"
}
Run Code Online (Sandbox Code Playgroud)

从github得到这个答案:https://github.com/dotnet/sdk/issues/9038#issuecomment-1380871802


Aes*_*eir 4

如果您使用dotnet run命令,那么它的一个已知限制是它不会启动浏览器。

参考此链接进行确认

虽然它不会启动它,但它仍然会让您的项目运行,只是意味着您必须在浏览器中手动键入它或使用该问题中列出的解决方法之一。