2013-10-15 2 views
2

이전에 웹 API를 사용하여 작업하고 있습니다 .. 기억할 수있는 범위 내에서 ... Get (최소) 버전의 작업은 Get, Post, 넣어, 삭제 등 ... 이러한 조치는 .. 요청의 HTTP 동사의 따라 트리거Umbraco ApiController 액션은 http-verb에 매핑되지 않습니다.

예를 들면 그래서

당신 수도 ..

을 UserApiController라는 ApiController을 가지고 있고 당신은 요청을 할 경우 to/api/user를 POST http-verb로 설정하면 해당 컨트롤러의 사후 조치가 실행/실행됩니다.

그러나 .... UmbracoApiController를 사용하여 문제가 생겼습니다 ... 어떤 이유에서든 게시 실행이나 get 또는 다른 동작이 http-verb에 매핑되지 않습니다. 아이디어가 있습니까? http-verb에 따라 실행될 메서드를 강제로 정렬하는 다른 방법이 있습니까?

내 현재 코드입니다 : 나는 행동에 브레이크 포인트를 배치 한

public class MyController : UmbracoApiController 
{ 
    [HttpPost] 
    public bool Post() 
    { 
     return true; 
    } 
} 

..

+0

문제가 있으십니까? 나도 똑같은 문제에 직면 해있다. 내가 컨트롤러를 칠 수 있지만 클라이언트에서 서버로 값을 얻을 수 없습니다. 제발 좀 더 읽고 나서 –

답변

1

그들이 잘못된 속성을 사용하고있다 허용되지 않습니다 이유 - HttpPost입니다 System.Web.Mvc 네임 스페이스의 일부인 반면 Web API는 System.Web.Http 네임 스페이스의 일부입니다. 대신 AcceptVerbs("POST")을 사용해야합니다.

+0

문제를 해결해 주시면 공유 해주세요 .HttpPost는 AcceptVerbs ("POST")의 약식입니다 ... ... 그 것처럼 보입니다. 내 실제 문제는 그걸로는 관계가 없습니다. Get()이라는 간단한 Action-method를 만들면 GET 요청 중에 실행되지 않을 것입니다. 제가 아는 한 모든 속성 장식을 사용하여 "정상적인"웹 API에서 작동합니다 .. – Inx

+0

어떤 URL 컨트롤러에 게시하는 데 사용하고 있습니까? UmbracoApiControllers는/umbraco/api//에 매핑되므로 데이터를/umbraco/api/My/Post에 POST로 호출해야합니다. –

관련 문제