Почему Swagger / Swashbuckle искажают мои маршруты? - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть контроллер со следующими методами на нем:

[System.Web.Mvc.HttpGet]
[System.Web.Mvc.Route("api/v1.0/foo/{id}")]
[ResponseType(typeof(MyObject))]
public IHttpActionResult Get(int id)

[System.Web.Mvc.HttpGet]
[System.Web.Mvc.Route("api/v1.0/foo/{id}/address")]
[ResponseType(typeof(MyObject))]
public IHttpActionResult Get(int id)

Если я удаляю второй метод, контроллер рендерится очень хорошо в Swagger.Однако, если я включу его, маршруты будут отображаться так:

GET /api/Foo
GET /api/Foo/{id}

Что происходит и как это исправить?

1 Ответ

0 голосов
/ 13 ноября 2018

Оказалось, что это связано с атрибутом, который я использовал.(Скопируйте вставку снова.)

Это не правильно:

[System.Web.Mvc.HttpGet]
[System.Web.Mvc.Route("api/v1.0/foo/{id}")]

Вместо этого являются правильно:

[System.Web.Http.HttpGet]
[System.Web.Http.Route("api/v1.0/foo/{id}")]
...