C#+swagger一个Controller多个Get或Post报错

        今日给java组建个C#调用dll的中转服务接口,我准备采用WebAPI,考虑到接口交流,我想加个swagger文档,这个比较出名(目前只知道它),但是平时web服务写得少,先前是尝试过用swagger,印象中是各种报错,然后各种百度,就跑通了。那今天再试一下,果不其然,还是各种报错,先前怎么弄的也都忘记了(这就是平时不记录的坏处了,一看就会,一用就废)。那么今天还是耐下心写个随笔,防止再忘。

       首先参考了ice.ko的文章,地址在这 https://www.cnblogs.com/miskis/p/7561249.html。当然还有其他文章,但是后面都是老版本的样例,就不提了,比如说要引用Swagger.Net.UI的,在Swashbuckle 5.6版本就不需要了。

       好,按照文章nuget下来包后,怀着激动的心情,点击调试,输入swagger地址,回车, 500,什么鬼。

        一百度,才知道,swagger一个controller不允许多个get或post方法,但这也太操蛋了,感觉swagger应该不会这么傻,我一个controller出现多个get方法就报错,这还有谁会用,继续百度,终于找到了最终的解决办法。           

就是这位@weixin_30432007的文章https://blog.csdn.net/weixin_30432007/article/details/96779716。

 直接引用下了     

对WebApiConfig中的路由进行修改

config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

 

posted @ 2021-08-31 18:37  krib  阅读(835)  评论(0编辑  收藏  举报