Url.Link需要请求参数
本文关键字:请求 参数 Link Url | 更新日期: 2023-09-27 17:58:26
如果项目插入成功,我正试图在web api post方法上设置位置标头,但问题是,如果我试图从mvc控制器调用该api操作,它会在Url上出现异常。缺少表示参数"request"的链接。有没有一种方法可以在不需要请求的情况下生成url?
这是web 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);
理想情况下,除非您正在进行单元测试,否则不应该创建web API控制器并开始调用它们上的操作。控制器具有在内部创建时由web API系统初始化的上下文。
如果你能解释你的场景,就像你对从web API返回的HttpResponseMessage所做的那样,也许我可以提供一个替代方案来解决它