首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.Net Mvc路由404

Asp.Net Mvc路由404
EN

Stack Overflow用户
提问于 2013-12-13 22:14:18
回答 1查看 1.6K关注 0票数 1

我试着在网络上做些什么。首先,我将分享我的WebApiConfig

代码语言:javascript
复制
config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional },
            constraints: new { id = @"^[0-9]+$" }
        );

        config.Routes.MapHttpRoute(
            name: "ApiCategory",
            routeTemplate: "api/tales/{category}/{id}",
            defaults: new { controller = "Tales", id = RouteParameter.Optional},
            constraints: new { category = @"^[a-z]+$" }
        );

我阅读了这个issue并修复了我的上图文件。我的目的是:

  1. 列表GetAllTales() =api/ -> /-> 404未找到
  2. GetTale(int )=api/ -> /1-> Ok!
  3. 列出GetAllTalesByCategory(string categoryName) =api/categoryName/ -> Ok!
  4. GetTalesByCategoryAndId(string categoryName,int id) =api/ -> /->/1-> Ok!

我想知道我的ApiController

代码语言:javascript
复制
[HttpGet]
    public Tale GetAllTalesByCategoryAndId(string category, int id){}

    [HttpGet]
    public IEnumerable<Tale> GetAllTalesByCategory(string category){}

    [HttpGet]
    public IEnumerable<Tale> GetAllTales(){}

    [HttpGet]
    public Tale GetTale(int id){}

谢谢你的回复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-13 22:32:28

你需要改变路线顺序。当您没有指定id时,默认路由将处理请求,因此您需要将您的自定义路由放在此之前。

代码语言:javascript
复制
config.Routes.MapHttpRoute(
        name: "ApiCategory",
        routeTemplate: "api/tales/{category}/{id}",
        defaults: new { controller = "Tales", 
                        id = RouteParameter.Optional, 
                        category = RouteParameter.Optional});

config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional },
        constraints: new { id = @"^[0-9]+$" }
    );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20576941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档