Укажите название его чванства API - PullRequest
0 голосов
/ 22 октября 2018

У меня есть контроллер с именем User, в котором у меня есть два метода GET для получения информации о пользователе либо по его почте GetUserByMail, либо по его номеру мобильного телефона GetUserByMobile.

Проблема в том, что когда я генерирую документацию по Swagger, у меня есть оба GET, но нет их имен.Они оба называются «Пользователь» с соответствующими параметрами «почта» или «мобильный».

Как мне указать имя моего API через атрибуты C # для Swagger, чтобы правильно включить его в документацию?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Вы должны явно указать имя методов действия, при котором они будут доступны в вашем API:

[RoutePrefix("api/user")]
public sealed class UserController : ApiController
{
    [Route("get-user-by-mail/{email}")]
    public object GetUserByMail(string email) { }

    [Route("get-user-by-mobile/{mobile}")]
    public object GetUserByMail(string mobile) { }
}

Если вы поместите свой RouteAttribute на весь класс, он создаст одинмаршрут для всех методов в нем.

0 голосов
/ 22 октября 2018
 //This is important
[Route("api/[controller]/[action]")]
public class PingController : Controller
{

    [HttpGet]
    public IActionResult Ping()
    {
        return Ok("Pong");
    }


}

[action] указывает чванству использовать имя метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...