如果项目已成功插入,我正在尝试在 web api post 方法上设置位置标头,但问题是如果我尝试从 mvc 控制器调用该 api 操作,它会在 Url.Link 上给我一个异常,说参数“请求” ' 不见了。有没有一种不需要请求就可以生成 url 的方法?
这是网络 api 邮政编码 -
public HttpResponseMessage Post (Product product)
{
...
if (addedSuccessfully)
{
var response = new HttpResponseMessage {StatusCode = HttpStatusCode.Created};
var uri = Url.Link("DefaultApi", new {id = product.ProductId});
if (uri != null)
response.Headers.Location = new Uri(uri);
return response;
}
return new HttpResponseMessage {StatusCode = HttpStatusCode.Conflict};
}
我是这样称呼它的
_productController.Post(product);