• 关于swagger——WebApi一个controller中出现多个Get是出现错误的处理


     /// <summary>
        /// 测试处理
        /// </summary>
        public class TestController : ApiController
        {
            /// <summary>
            /// 根据角色获取该角色所有拥有的功能
            /// </summary>
            /// <param name="roleid"></param>
            /// <returns></returns>
            [HttpPost]
            [Common.AccessToken]
            public Common.ResponseHeader GetByRole(int roleid)
            {
                return new Common.ResponseHeader { code=0,msg="",data=null};
            }
    
            /// <summary>
            /// 获取所有功能
            /// </summary>
            /// <returns></returns>
            [HttpGet]
            [Common.AccessToken]
            public Common.ResponseHeader GetAll()
            {
                return new Common.ResponseHeader { code = 0, msg = "", data = null };
            }
            /// <summary>
            /// 获取所在代理下的所有功能
            /// </summary>
            /// <param name="id">ces</param>
            /// <returns></returns>
            [HttpGet]
            [Common.AccessToken]
            public Common.ResponseHeader GetAll(int id)
            {
                return new Common.ResponseHeader { code = 0, msg = "", data = null };
            }
        }
    

     这段代码会产生如下图的结果:

    解决方案

    对WebApiConfig中的路由进行修改

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

    重新运行  问题得到解决

  • 相关阅读:
    ThreadLocal内存泄漏真因探究(转)
    JAVA设计模式工厂模式
    java设计模式单例模式
    Java-Socket
    Java-Queue总结
    Java-Reentrantlock
    Java-Iterator遍历集合
    安装和启动docker
    C# System.Reflection.Assembly动态加载资源文件
    C#调用 kernel32.dll
  • 原文地址:https://www.cnblogs.com/wang0020/p/9036198.html
Copyright © 2020-2023  润新知