【问题标题】:.NetCore Swagger can not work.Net Core Swagger 无法工作
【发布时间】:2017-08-10 10:58:33
【问题描述】:

我花了很长时间尝试为我的 .netCore 项目配置 swagger。

我已经完成了以下步骤,但没有成功:-(

  1. Nuget 包:

    Swashbuckler.SwaggerGen,
    Swashbuckler.SwaggerUi,
    
  2. 在 ConfigureServices 方法中

    instance.AddMvc();
    instance.AddSwaggerGen();
    
  3. 在配置方法中

     instance.UseMvc();
     instance.UseSwagger();
     instance.UseSwaggerUi();
    
  4. 我重建了我的项目,并转到链接http://localhost:5000/swagger/ui

出现错误:本地主机拒绝连接。ERR_CONNECTION_REFUSED

有人可以帮帮我吗?

BR,

里昂

【问题讨论】:

  • 您的应用程序甚至在此端口上运行吗?当您使用新创建的项目运行时,它会在 IIS Express 上运行,通常具有较高的随机数,例如 45342
  • 嗨 Tseng,是的,我的联盟在 5000 上运行
  • 那么你不应该收到连接被拒绝的消息并收到 200(一切正常)、404(找不到页面)或 500(内部服务器错误,即异常)
  • Hi Tseng,你知道,我怎样才能为 swagger 设置一个端口?
  • 你没有。它将在同一个应用程序上运行。您绝对肯定可以通过localhost:5000 联系您的申请吗?如果可以,那么您不应该得到 ERR_CONNECTION_REFUSED。您很可能会在 /swagger/ui 处获得 404。您是否尝试过删除 /ui 部分?

标签: asp.net-core swagger


【解决方案1】:

这就是我在我的 aspnet core rest api 项目中所拥有的。

ConfigureServices 方法中:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new Info
    {
        Title = "MyProject - HTTP API",
        Version = "v1",
        Description = "My project HTTP API."
    });
});

Configure 方法中:

app.UseSwagger().UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyProj HTTP API v1");
});

然后只需导航到http://localhost:56468/swagger/,其中56468 是我的应用程序正在运行的端口。

【讨论】:

【解决方案2】:

您应该包含 NuGet 包 Swashbuckle.AspNetCore 以进行 swagger 配置。在 Startup.cs 的 Configure 部分添加以下代码

app.UseSwagger();
app.UseSwaggerUI(c =>
{
  c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});

并在 Statup 的 ConfigureServices 部分添加以下代码

services.AddSwaggerGen(c => {
       c.SwaggerDoc("v1", new OpenApiInfo() { Title = "My API", Description = "My API V1" });
    });

【讨论】:

    猜你喜欢
    • 2017-07-20
    • 2020-11-21
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2021-12-16
    相关资源
    最近更新 更多