我有以下资源用于返回特定的公司信息:
[HttpGet]
[Route("{companyId:Guid}")]
public IHttpActionResult Get(Guid companyId)
{
var company = CompanyRepository.Find(companyId);
if (company == null)
{
return NotFound();
}
else
{
var responseModel = new CompanyResponseModel()
{
CompanyId = company.Id,
Name = company.Name
};
return Ok(responseModel);
}
}
为什么我们不能将内容纳入NotFound()
来电?
例如,我想在错误响应模型中添加一条消息"公司ID不存在"。
这可能是针对RESTful设计的吗?
答案 0 :(得分:8)
根据RFC2616 Section 10,404不会返回有关资源本身的任何信息。 但是如果你想使用404,你可以改用它:
return Content(HttpStatusCode.NotFound, "Your Content/Message");