c# – 控制器中自定义方法的WebApi路由
发布时间:2020-12-15 21:40:30 所属栏目:百科 来源:网络整理
导读:我最近选择了ASP.NET Web API的东西,虽然我已经破解了授权和身份验证,但我无法破解路由.这是一场噩梦! 我用AuthenticationController创建了一个Authenticate()方法.我将[HttpGet]属性添加到Authenticate(),但每当我点击API时,我得到404. 这是我目前的WebApi
我最近选择了ASP.NET Web API的东西,虽然我已经破解了授权和身份验证,但我无法破解路由.这是一场噩梦!
我用AuthenticationController创建了一个Authenticate()方法.我将[HttpGet]属性添加到Authenticate(),但每当我点击API时,我得到404. 这是我目前的WebApiConfig: – public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute("DefaultApiWithId","{controller}/{id}",new { id = RouteParameter.Optional },new { id = @"d+" }); config.Routes.MapHttpRoute("DefaultApiWithAction","{controller}/{action}"); config.Routes.MapHttpRoute("DefaultApiGet","{controller}",new { action = "Get" },new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }); config.Routes.MapHttpRoute("DefaultApiPost",new { action = "Post" },new { httpMethod = new HttpMethodConstraint(HttpMethod.Post) }); } 我正在尝试的地址是:/ authentication. 控制器看起来像这样: – [BasicHttpAuthorize(RequireAuthentication = true)] public class AuthenticationController : ApiController { [HttpGet] public string Authenticate(string email,string password,string agent,string ip) { } } 任何人都可以指导我朝正确的方向发展吗?我试过点击多个地址/端点: – > / authentication / authenticate 解决方法
根据我的评论:
为什么你有4条路线?我不确定你要完全准确地实现什么,但你最有可能只用顶级(默认)路线来实现它.如果删除或注释掉最后3条路线并使用web api,则执行GET时应该触发Authenticate方法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |