加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Asp.net Web API属性路由404错误

发布时间:2020-12-16 02:01:40 所属栏目:百科 来源:网络整理
导读:我无法弄清楚为什么我的属性路由不起作用. 这是我的设置: public static class WebApiConfig{ public static void Register(HttpConfiguration config) { // Attribute routing config.MapHttpAttributeRoutes(); // Convention-based routing config.Route
我无法弄清楚为什么我的属性路由不起作用.

这是我的设置:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Attribute routing
        config.MapHttpAttributeRoutes();

        // Convention-based routing
        config.Routes.MapHttpRoute(
            name: "API Default",routeTemplate: "api/{controller}/{action}/{id}",defaults: new { id = RouteParameter.Optional }
        );

    }
}

这是我的控制器与我的路由属性:

[Route("api/v1.0/orders")]
public class OrdersV1Controller
{

    [APIAuthentication(RequireAuthentication = true)]
    [HttpGet]
    [Route("{id:int}")]
    public GetOrderResponse GetOrder(int id)
    { 
      .....
    }
}

这是我的全局asax文件:

public class Global : HttpApplication
{
    void Application_Start(object sender,EventArgs e)
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.Populate;
    }
}

这是我正在测试的URL返回404未找到:

HTTP://本地主机:60105 / API / 1.0 /命令/ 222221

解决方法

您的控制器需要是API控制器:

public class OrdersV1Controller : ApiController

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读