在创建CreatedAtAction时,需要将复杂对象包裹在一个匿名对象中,然后将该匿名对象作为参数传递。
示例代码:
[HttpPost]
public IActionResult Create([FromBody] MyObject myObject)
{
// do something to create myObject
var result = new { id = myObject.Id, name = myObject.Name }; // 包裹在匿名对象中,返回id和name属性
return CreatedAtAction(nameof(GetById), new { id = myObject.Id }, result); // 在CreatedAtAction中传递匿名对象
}
[HttpGet("{id}")]
public IActionResult GetById(int id)
{
// do something to get myObject by id
var myObject = new MyObject { Id = id, Name = "Example" }; // 示例MyObject
return Ok(myObject); // 返回MyObject
}