После миграции с .net core 2.2 на 3.0 я столкнулся с проблемой с генератором ссылок в .net core.
В 2.2 я мог сделать это, и он дал мне путь, как и ожидалось:
[Route("/api/store/books")]
public class BooksController : Controller
{
[HttpGet(Name = "GetBooks")]
public async Task<IActionResult> GetBooks(string continuation)
{
//...
var path = linkGenerator.GetPathByAction(HttpContext, nameof(GetBooks), "Books", new { continuation = nextContinuationToken } );
}
}
Теперь в версии 3.0 я получаю null
назад, как будто путь больше не может быть разрешен.
Я даже пытался сократить его до этого, но я все еще получаю ноль:
var path = linkGenerator.GetPathByAction(nameof(GetBooks), "Books" );
Чтобы сохранить совместимость с другой конфигурацией, я установил options.EnableEndpointRouting = false;
после перехода на 3.0. При использовании маршрутизации в конечной точке все работает как в 2.2.
Можно ли использовать GetPathByAction
без маршрутизации в конечной точке?