我有一个带有 Post 方法的 ODataController,它应该返回一个指向新创建的 OData 资源的 URL,如下所示:
public class TasksController: ODataController
{
[HttpPost]
public IActionResult Post([FromBody] Request request)
{
...
return CreatedAtRoute("GetTask", new Dictionary<string, object>{{"id", id}}, new object());
}
[ODataRoute(RouteName = "GetTask")]
public IActionResult Get(int key)
{
...
}
}
在我的情况下,我在返回 CreatedAtRoute 时收到“InvalidOperationException:没有路由与提供的值匹配”。我可以通过将代码更改为:
return Created($"{baseUri}/odata/Task({id})", new object());
有没有办法使用 CreatedAtRoute 并使其返回正确的 OData 路径?