zoukankan      html  css  js  c++  java
  • 关于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 }
                );

    重新运行  问题得到解决

  • 相关阅读:
    仪仗队
    疫情控制
    Code
    距离咨询
    舒适的路线
    桐桐的糖果计划
    跑路
    最短路计数
    骑马修栅栏
    搭桥
  • 原文地址:https://www.cnblogs.com/wang0020/p/9036198.html
Copyright © 2011-2022 走看看