안녕하세요 저는 웹 api2와 angularjs에서 하나의 애플리케이션을 개발 중입니다. angularjs에서 URL에 액세스 할 때 라우팅 문제가 있습니다.
아래 URL에 액세스하려고합니다.
var url = '/api/projects/4/processes';
내 컨트롤러 코드는 아래와 같습니다.
[RoutePrefix("api/processes")]
public class processesController : ApiController
{
[ActionName("projects/{projectsId}/processes")]
public HttpResponseMessage Get(int id)
{
return Request.CreateResponse(HttpStatusCode.OK, "");
}
}
404 오류가 발생합니다. URL을 입력 할 수 없습니다.
이것은 내 webapi.config 파일입니다.
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
//routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
어떤 도움을 주시면 감사하겠습니다.
먼저 규칙 기반 경로 전에 특성 라우팅이 활성화되었는지 확인합니다.
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
의도 한 URL이 /api/projects/4/processes
다음과 같은 경우 지정된 작업은 일치하도록 경로 템플릿을 업데이트해야합니다. 컨트롤러에 이미 경로 접두사가 있지만 경로 템플릿에 물결표를 접두사로 추가하여 재정의 할 수 있습니다.~
메서드 속성에 물결표 (~)를 사용하여 경로 접두사를 재정의합니다.
//GET /api/projects/4/processes
[HttpGet]
[Route("~/api/projects/{projectsId:int}/processes")]
public HttpResponseMessage Get(int projectsId) { ... }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다