[英]Web API Status Endpoint (GET and POST)
我們正在使用New Relic來監控我們的許多Web應用程序。
這為我們提供了可用性監控,它允許您在應用程序中指定一個特定的端點,可以“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();
}
}
現在被授予,這確實有效,但對於這樣一個簡單的任務來說似乎很麻煩。
我很好奇 - 有沒有更干凈或更好的方法,我還沒有看到呢?
您可以讓您的方法接受POST和GET
// 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();
}
}
默認情況下,除非使用子字符串或檢測到問題,否則pingers將使用HEAD請求。 在這兩種情況中的任何一種情況下都會發出GET請求。
您的解決方案對我來說非常簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.