在我的API项目中创建资源时,运行此代码
public class MyCtrl : ApiController
{
...
if (isSuccess)
{
result.Id = newResource.Id;
var locationUrl = Request.RequestUri + "/" + id;
return Created(locationUrl, result);
}
}
但作为回应我只看到id,如何强制WebAPI也返回locationId?
{
"id": "YHEMPZIF2VHHP6X7"
}
答案 0 :(得分:1)
喜欢
if (isSuccess)
{
var locationUrl = Request.RequestUri + "/" + id;
var result = new { Id:newResource.Id, locationUrl: locationUrl }
return Created(locationUrl, result);
}
答案 1 :(得分:1)
Created
方法的第一个参数在响应头中传递给客户端。更确切地说,在 Location 标题中。因此,为了访问它,您不必修改结果对象。
关于访问客户端的标头。例如,在ASP.NET MVC中,您可以通过Request.Headers
和响应对象的Angular via headers
属性来完成。