Помощник тега привязки ASP.Net Core как ссылки RESTful

Я использую помощники по якорным тегам, которые по большей части работают нормально. Я хотел бы очистить определенный URL-адрес, который генерируется. Мой тег выглядит так (обратите внимание, что в этом случае тип более конкретен, чем идентификатор, но это не имеет значения):

<a asp-controller="SomeController" asp-action="SomeAction" asp-route-id="@Model.ID" asp-route-type="@someType">

Я хотел бы получить URL-адрес, который выглядит так:

http://localhost:1234/SomeController/SomeAction/42/1

Но вместо этого я получаю

http://localhost:1234/SomeController/SomeAction/42?type=1

Есть ли способ получить «дополнительные» параметры в формате RESTful вместо строки GET? Я всегда мог просто изменить маршрут или URL-адрес более традиционным способом, но мне было любопытно, смогу ли я заставить это работать.


person Ev Conrad    schedule 14.10.2017    source источник
comment
Это не RESTful. RESTful — это ресурсы и использование глаголов HTTP для действий. Вы просто встраиваете в путь еще один аргумент запроса. – Для настройки маршрутов см. документацию по маршрутизации.   -  person poke    schedule 14.10.2017


Ответы (1)


Я отвечу на свой вопрос в надежде, что это принесет пользу кому-то еще. Проблема заключалась в том, что мне нужно было создать собственный маршрут, как показано ниже:

            routes.MapRoute(
                name: "newRoute",
                template: "{controller=SomeController}/{action=SomeAction}/{id}/{type}");

Интересуют альтернативные подходы, если есть лучшая практика.

person Ev Conrad    schedule 14.10.2017