0
我正在做我的第一步在asp.net mvc試圖開發web api。無法找出路由在asp.net mvc
我有以下路由功能:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "cdApiDefault",
url: "api/{controller}/{action}/{token}/{mid}/{id}",
defaults: new {
token = UrlParameter.Optional,
mid = UrlParameter.Optional,
id = RouteParameter.Optional }
);
}
及以下控制器:
namespace cdapi.Controllers
{
public class PostsController : ApiController
{
// GET api/posts
public IEnumerable<string> Get()
{
return new string[] { "GET_value1", "GET_value2" };
}
// GET api/posts/5
public string Get(int id)
{
return "value!!!!!!!!!!!!!!!!!";
}
// POST api/posts
public void Post([FromBody]string value)
{
}
// PUT api/posts/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/posts/5
public void Delete(int id)
{
}
public String GetTest(String token, String mid)
{
return token + " - " + mid;
}
}
}
以下調用
hxxp://本地主機:52628/API /職位/ 5
(在我的瀏覽器中)產生了一些結果,即函數GET被調用並返回一個值。
然而,當我嘗試
hxxp://本地主機:52628/API /職位/ GetTest/MyTestToken/myTestMid
回來與'的資源無法找到'錯誤消息。
我認爲{}行動應包含函數調用,而且「令牌」和「MID」應包含的值我指定。我做錯了什麼?
,因爲我不知道這我不寫這個作爲一個答案了是在你的問題或問題的原因拼寫錯誤,但在ASP.NET Web API的情況下,你應該使用'MapHttpRoute'而不是'MapRoute' - 請檢查。 – tpeczek