Вернуть местоположение CreatedAtRoute из ODataController - PullRequest
0 голосов
/ 16 января 2019

У меня есть ODataController с методом Post, который должен возвращать URL-адрес недавно созданного ресурса OData, что-то вроде следующего:

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)
    {
        ...
    }
}

В моем случае я получаю "InvalidOperationException: ни один маршрут не соответствует предоставленным значениям" при возврате CreatedAtRoute. Я могу исправить проблему, изменив код на:

return Created($"{baseUri}/odata/Task({id})", new object());

Есть ли способ использовать CreatedAtRoute вместо этого и заставить его возвращать правильный путь OData?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...