2017-05-09 115 views
2

我正在尋找返回一個202 - HttpStatusCode.Accepted - 以及一個字符串值。返回HttpStatusCode 202連同字符串值

怎麼可以這樣寫:

[HttpPost] 
public async Task<IActionResult> Post() 
{ 

    return Accepted(); //+ "my string value" 

} 
+0

什麼是字符串值?或者,如果字符串值是某種響應,爲什麼您發送202表示您沒有響應呢? –

回答

3

使用廣義StatusCode方法:

return StatusCode((int)HttpStatusCode.Accepted, obj); 

這是可能的,如果需要設置響應Content-Type頭。但是,它更容易使用JsonResult返回JSON:

return new JsonResult(obj) 
{ 
    StatusCode = (int)HttpStatusCode.Accepted 
}; 

甚至使用ObjectResult得到完全控制:

return new ObjectResult(xml) 
{ 
    StatusCode = (int)HttpStatusCode.Accepted, 
    ContentTypes = new MediaTypeCollection { MediaTypeHeaderValue.Parse("application/xml") } 
}; 
+0

發送JSON與202是沒有意義的。 –

+0

@JonHanna,我同意,但誰知道爲什麼OP要求。此外,該解決方案可以與任何狀態碼一起使用,因此可能對其他人有所幫助。 –