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

时间:2023-03-09 16:45:23
关于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 };
}
}

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

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

解决方案

对WebApiConfig中的路由进行修改

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

重新运行  问题得到解决

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