我試着在Web Api上做些什麼。首先,我會分享我的WebApiConfigAsp.Net Mvc Web Api路由404
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和我解決我的apiconfig文件。我的目的是這樣的:
- 列表GetAllTales()= API /故事/ - > 404未找到
- 故事GetTale(INT ID)= API /故事/ 1 - 確定>!
- List GetAllTalesByCategory(string categoryName)= api/tales/kids - >好的!
- Tale GetTalesByCategoryAndId(string categoryName,int id)= api/tales/kids/1 - > Ok!
如果妳不知道我ApiController
[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){}
感謝所有的答覆。
將您的自定義路線放在默認路線之前,或者默認路線將提取您的請求。 –
其實我不明白。 İf我把costum路線/ api /故事/孩子給出了一個錯誤。因爲這發送請求GetTale(int id)。 – BerdaN