0
asp.net mvc에서 웹 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
가 로 돌아 오면 '리소스를 찾을 수 없습니다' 오류 메시지.
은 내가 {동작} 호출 할 수있는 기능을 포함해야한다고 생각하고 '토큰' 및 '중간'이 값을 포함해야 내가 지정합니다. 내가 뭘 잘못 했니?
를 반환하기 위해 방법을 수정하려면 귀하의 질문이나 문제의 원인이 철자 오류가 있지만 ASP.NET 웹 API의 경우 MapRoute가 아닌'MapHttpRoute'을 사용해야합니다 - 확인하십시오. – tpeczek