我正在尝试创建一个HttpPost来创建一个实体,并且我希望返回一个创建的201,其中位置标头设置为https://mysite/api/entity/1。在返回IActionResult时,我无法弄清楚如何做到这一点。
像这样调用
return CreatedAtAction("Get", new { id = entity.Id }, "/{id}");
我得到https://mysite/api/entity?id=11
我无法弄清楚如何得到我想要的东西。
答案 0 :(得分:1)
我将路径名称分配给Get操作并按名称引用它以使其工作。例如:
// GET api/values/5
[HttpGet("{id}", Name="GetAction")]
public string Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public IActionResult Post([FromBody]string value)
{
return this.CreatedAtRoute(
"GetAction", new { id = 5 }, new { id = 5 });
}