如何在ASP.NET Core WebApi中创建自定义消息? 例如,我想返回
new HttpResponseMessage()
{
StatusCode=HttpStatusCode.OK,
Message="Congratulations !!"
};
new HttpResponseMessage()
{
StatusCode=HttpStatusCode.NotFound,
Message="Sorry !!"
};
答案 0 :(得分:7)
这个最简单的方法是使用基类Controller类中的帮助程序。
public ActionResult ExampleNotFound()
{
return NotFound("Sorry !!");
}
public ActionResult ExampleOk()
{
return Ok("Congratulations !!");
}
或者,您可以返回新的ContentResult
并设置其状态代码。
return new ContentResult
{
Content = "Congratulations !!",
ContentType = "text/plain",
StatusCode = 200
};
这两种方法略有不同,ContentResult
总是ContentType
text/plain
Ok()
和NotFound()
方法返回ObjectResult
,它使用格式化程序根据请求的Accept标头中的内容类型序列化字符串。
答案 1 :(得分:1)
为了返回旧版HttpResponseMessage
,您需要在.net core中将其转换为ResponseMessageResult
。以下是一个示例。
public async Task<IActionResult> Get(Guid id)
{
var responseMessage = HttpContext.GetHttpRequestMessage().CreateResponse(HttpStatusCode.OK,
new YourObject()
{
Id = Id,
Name = Name
});
return new ResponseMessageResult(responseMessage);
}