在Web API 2 POST方法中,似乎最好的响应方式是使用CreatedAtRoute方法。但是在某些回复中,我希望回复的主体是空的。因此只回复201和一个位置标题。
我希望这可行:
[HttpPost]
[ResponseType(typeof(Product))]
public IHttpActionResult Post([FromBody] Product product)
{
products.Add(product);
return CreatedAtRoute<Product>("", new {id = product.Id}, null);
}
然而,在Postman中检查它,它实际上返回一个字符串&#34; null&#34;。是否有一种优雅的方式来做到这一点?
答案 0 :(得分:-1)
您可以使用内置&#34;创建&#34;简单的方法,但你已经说过响应类型应该是&#34;产品&#34;。
Created("getPathHere", newProductObject);
否则,删除Product的响应类型,改为返回新的产品ID(以及此创建过程所处的任何状态,如果它不是瞬时的)。
Created(string.Format("/api/Products/{0}", productId), new { ProductId = productId, Status = "Awaiting Manufacture" });