0
如果项目插入成功,我试图在Web api post方法上设置位置标题,但问题是如果我尝试从mvc控制器调用该api操作,它会给我一个Url.Link上的异常,并说参数'请求'缺失。有没有一种方法可以在不需要请求的情况下生成url?Url.Link需要请求参数吗?
这里是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);
我想写“发布”逻辑一次,并让它可以从javascript ajax调用和mvc端使用。我认为我应该做的是将少量额外的行添加到mvc控制器来调用数据访问层。代码/功能有点重复,但该怎么做 – camelCaseWarrior