2017-05-09 134 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要求。此外,该解决方案可以与任何状态码一起使用,因此可能对其他人有所帮助。 –