Lucky_dog

C#中webapi结合swagger的使用

电脑版发表于:2020/2/6 17:08

一、使用nuget下载Swagger包

       命令:Install-Package Swashbuckle


二、Swagger配置

        1、安装完Swashbuckle后,nuget会将相关引用添加至项目,App_Start文件夹下会添加一个SwaggerConfig.cs文件,如图所示:

         

        2、可以在上述文件设置swagger的显示版本和页面标题

        c.SingleApiVersion("v1", "lottery");

         3.修改Global.asax类

        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        GlobalConfiguration.Configure(WebApiConfig.Register);//添加

          4.设置XML文档

               项目右键 》属性 得到如图所示页面,进行勾选:

            

           5、运行项目,打开浏览器,输入http://localhost:54772/swagger/

            结果如图所示:

            

             6.出现的问题

                    1)在swagger页面运行接口时,报404错误,后来发现直接访问时也是不行的。经探索了解,因为此webapi是在项目建立后添加的,所以就在最后注册的Api路由,就无法访问到,最后把它调整到普通路由前面就可以了:

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            GlobalConfiguration.Configure(WebApiConfig.Register);//添加
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

                          

关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢