Как установить общую часть маршрута (префикс) из config. json для всех действий в контроллере? - PullRequest
0 голосов
/ 09 июля 2020

У меня есть контроллер с атрибутом Route, а также каждое действие с его собственным Route, например:

[Route("api/version/v1")]
public class MyController : ControllerBase
{
   [Route("receipts/verifyReceipt")]
   public IActionResult VerifyReceipt(...){....}
   
   ...... several actions with diffrent Routes

}

Моя цель - создать маршрут api: 'api / version / v1 / поступления / verifyReceipt '

Как я могу установить префикс [Route("api/version/v1")] из конфигурации. json

Я пытался установить его из Startupt.cs

app.UseMvc(routes =>
        {
            routes.MapRoute( "default",  apiCommon.Value);
        });

где' apiCommon.Value '- это мой префикс' api / version / v1 '. При добавлении атрибута маршрута в MyController:

[Route("", Name = "default")]

Но, похоже, это не имеет никакого эффекта. А маршрут api выглядит так: '/ Receipt / verifyReceipt'

Есть идеи, что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Нашел решение моей проблемы на Глобальный префикс маршрута в ASP. NET Core MVC

0 голосов
/ 09 июля 2020

Думаю, UsePathBase() лучше всего соответствует вашим потребностям. Он выполняет маршрутизацию после использования указанной базы пути

вызывает его перед app.UseRouting()

app.UsePathBase(apiCommon.Value);
...