2015-01-29 4 views
2

우리는 새로운 유물을 사용하여 많은 웹 응용 프로그램을 모니터링하고 있습니다.웹 API 상태 종점 (GET 및 POST)

이것은 응용 프로그램에서 응용 프로그램이 "살아 있는지"확인하기 위해 "핑 (ping)"할 수있는 특정 끝점을 지정할 수있게 해주는 가용성 모니터링을 제공합니다. 확실히 유용하지만 분명히 적습니다.

New Relic에서 보낸 ping 요청이 항상 POST이 아니라는 것을 알았습니다.이 메시지는 GET 일 때로는 끝 점이 405 HttpStatusMessage : Method not allowed입니다.

없음 문제

가 - 난 그냥 모두에 대응하는 내 엔드 포인트를 구성 할 거라고 생각 :
[Route("status")] 
public class StatusController : ApiController 
{ 
    public IHttpActionResult Post() 
    { 
     return Ok(); 
    } 

    public IHttpActionResult Get() 
    { 
     return Ok(); 
    } 
} 

지금 부여,이 작업을 수행하지만, 같은 간단한 작업에 대한 많은 문제처럼 보인다.

궁금한 점이 있습니다. 아직 보지 못했지만 더 깨끗하고 좋은 방법이 있습니까?

답변

5

당신은

// Route /status to this controller 
[RoutePrefix("status")] 
public class StatusController : ApiController 
{ 
    [HttpGet] // accept get 
    [HttpPost] // accept post 
    [Route("")] // route default request to this method. 
    public IHttpActionResult Get() 
    { 
     return Ok(); 
    } 
} 
+0

잘 작동합니다. 고마워요. – X3074861X

1

핑거는 부분 문자열이 사용되거나 문제가 감지되지 않는 한 기본적으로 HEAD 요청을 사용합니다. 이 두 경우 중 하나에서 GET 요청이 발행됩니다.

당신의 솔루션은 나에게 매우 간단 해 보입니다. 이제 더 의미, 정화 주셔서 감사합니다 -

+0

아 POST 모두 동의하고 얻을 수 있도록 방법을 얻을 수 있습니다. – X3074861X