SwaggerUI Asp.Net Core-如何引用.json文件

问题描述 投票:0回答:1

您如何将swagger.json文件添加到SwaggerUI?到目前为止,我只能生成一个,并且它会自动在Web应用程序中“引用”自身,并且我可以从/swagger/v1/swagger.json进行调用,我唯一能找到的帮助是关于URL植根,但是swagger如何找到您的项目中的规格?

我还能够将多个.json文件添加到SwaggerUI,文档中说是这样做的]

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

但这只是扎根在哪里发现了这个json文件?

没有办法做这样的事情吗?

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

我有什么想念的吗?

请帮助。

asp.net swagger-ui core
1个回答
0
投票

结果证明您不能,如果要引用本地.json规范,则必须将其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")));
© www.soinside.com 2019 - 2024. All rights reserved.