加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api2 – 什么导致swagger已经出现在Web API 2的路由

发布时间:2020-12-16 03:35:36 所属栏目:asp.Net 来源:网络整理
导读:我在我的ASP.Net MVC Core项目中安装了Swagger,它正在精美地记录我的API. 我的同事让我在一个完整的框架4.6.1项目中安装它,所以我做了以下工作. 在Package Console Manager中运行: Install-Package Swashbuckle 要使Test Web API控制器正常工作: 1)在WebAp
我在我的ASP.Net MVC Core项目中安装了Swagger,它正在精美地记录我的API.

我的同事让我在一个完整的框架4.6.1项目中安装它,所以我做了以下工作.

在Package Console Manager中运行:

Install-Package Swashbuckle

要使Test Web API控制器正常工作:
1)在WebApi.config中注释掉它:

// config.SuppressDefaultHostAuthentication();
// config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

现在这个网址:
http://localhost:33515/api/Test
带回XML:

<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance"     xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>value1</string>
<string>value2</string>
</ArrayOfstring>

在Global.asax Register()中,我调用:

SwaggerConfig.Register();

在AppStart.Swagger.Config Register()中我放了:

public class SwaggerConfig
{
    public static void Register()
    {     
       var thisAssembly = typeof(SwaggerConfig).Assembly;
       GlobalConfiguration.Configuration
            .EnableSwagger(c =>
                {
                    c.SingleApiVersion("v1.0","HRSA CHAFS");
                    c.IncludeXmlComments(GetXmlCommentsPath());
                })
              .EnableSwaggerUi(c =>
                {});
    }

    private static string GetXmlCommentsPath()
    {
        var path = String.Format(@"{0}binServices.XML",AppDomain.CurrentDomain.BaseDirectory);
        return path;

    }
}

现在我收到这个错误:
“名为’swagger_docsswagger / docs / {apiVersion}’的路线已经在路线集合中.路线名称必须是唯一的.”

我已经坚持了几个小时.
你怎么摆脱这个?

解决方法

重命名.NET程序集时可能会发生这种情况.具有先前程序集名称的DLL将出现在bin文件夹中.这会导致招摇错误.

删除bin文件夹并重新构建解决方案.这解决了招摇错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读