NSwag MSBuild "Метод get 'on path' / api / Account 'зарегистрирован несколько раз" - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь сгенерировать swagger-спецификацию с NSwag.MSbuild, но когда я делаю это, мне выдается следующее сообщение: «Метод 'get' on path '/ api / Account' зарегистрирован несколько раз"

Теперь проблема в том, что мои методы работают меньше, как показано ниже с некоторыми примерами контроллера

        [HttpPost]
        [HttpGet]
        [AllowAnonymous]
        public IActionResult ExternalRegister(string provider, string returnUrl = null)

        [HttpGet]
        public IActionResult AddLogin(string provider, string returnUrl)

        [HttpGet]
        [AllowAnonymous]
        public ActionResult SignUpConfig()

Я понимаю, почему это происходит, но я не понимаю, что в NSwag происходит то же самое Studio работает, команда, которую я использую: $(NSwagExe_Core22) webapi2swagger, есть ли опция, чтобы она генерировалась успешно, как Nswag Studio?

Ответы [ 3 ]

2 голосов
/ 03 марта 2020

В WebAPI, если у вас более одного HttpGet или HttpPost et c, вы должны добавить атрибут маршрута, чтобы различать guish их.

Добавить HttpGet ["{name}"]

0 голосов
/ 17 марта 2020

Оказывается, вам не нужно указывать маршруты, если вы не хотите, чтобы это имело отношение к шаблону URL по умолчанию: /DefaultUrlTemplate:"{controller}/{action}/{id?}" добавление {action} решило это для меня

0 голосов
/ 03 марта 2020

Что помогло мне в этой ситуации, так это установить атрибут маршрута следующим образом: [Route ("SignUpConfig")], [Route ("AdLogin")]

...