【发布时间】:2018-01-01 18:51:55
【问题描述】:
我在 ASP.Net Core(1.1.2 版)中构建了一个 Web API,并使用 Swashbuckle.AspNetCore 来生成 swagger 定义。
下面是自动生成的swagger定义的一部分。我想更改路径,使其不包含 /api/ApiName,但它会包含在 basePath 中,现在是 /
{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "ApiName.V1"
},
"host": "ApiUrl",
"basePath": "/api/ApiName",
"paths": {
"/": {
"get": {
"tags": [
"ApiName"
],
.........
所以我想得到的是:
{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "ApiName.V1"
},
"host": "ApiUrl",
"basePath": "/",
"paths": {
"/api/ApiName": {
"get": {
"tags": [
"ApiName"
],
.........
我们还有一些其他 API 不是用 .Net Core 编写的,它通过添加默认路由解决了同样的问题。我试图通过删除 API 控制器顶部的路由在 .Net 核心上做同样的事情
[Route("api/[Controller]")]
并将其添加到 Startup.cs。然而这并没有奏效。有人知道如何解决这个问题吗?
【问题讨论】:
标签: c# asp.net-core swagger asp.net-core-webapi swashbuckle