SwaggerUI Asp. Net Core - Как проверить файлы json - PullRequest
0 голосов
/ 23 февраля 2020

Как бы вы добавили файл Swagger. json в SwaggerUI? До сих пор я только мог сгенерировать один, и он автоматически «ссылается» на себя в веб-приложении, и я могу его вызвать из /swagger/v1/swagger.json, единственная помощь, которую я смог найти, была о рутировании URL-адресов, но как работает сваггер? найти спецификации в вашем проекте?

Я также смог бы добавить несколько файлов. json в SwaggerUI, в документации сказано, что так можно сделать

             {
               c.SwaggerEndpoint("/swagger/v1/swagger.json", "SwaggerDemo v1");
                c.SwaggerEndpoint("/swagger/v2/swagger.json", "SwaggerDemo v2");
             });

Но это только укоренение, когда Swagger находит этот json file ??

Разве нет способа сделать что-то подобное?

app.UseSwaggerUi3(c => c.AddSpec("./Swagger/swagger1.json"));

Есть что-то, чего мне не хватает?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 24 февраля 2020

Оказывается, вы НЕ МОЖЕТЕ, если хотите перефразировать местное. json spe c вам нужно root.

В контроллере:

    [Route("api/[controller]")]
    [ApiController]
    public class DefaultController : ControllerBase
    {
        [HttpGet]
        public string GetSwaggerSpec()
        {
            var path = Path.GetFullPath(<SWAGGER.JSON>);
            StreamReader stream = System.IO.File.OpenText(path);
            return stream.ReadToEnd();
        }

В Startup.cs:

app.UseSwaggerUi3(c => c.SwaggerRoutes.Add(new SwaggerUi3Route("All", "/api/default")));
...