Мы находимся в процессе перехода на ASP. Net Core 3.0. У меня есть базовый контроллер с маршрутизацией атрибута замены токена. У меня есть члены контроллера с двумя конечными точками. Конечная точка GetDetails (без переопределений маршрутов) работает нормально.
Я пытаюсь переопределить имя действия конечной точки GetStateByIp с помощью «getstate». Тем не менее, он изменяет весь маршрут, а не переопределяет действие.
Можно ли сделать то, что я пытаюсь с помощью атрибутной маршрутизации? У нас более 200+ действий, и мы переопределяем только несколько действий с именами пользовательских действий.
Пожалуйста, используйте код ниже для справки.
[Route("api/[controller]/[action]")]
[ApiController]
public abstract class BaseApiController : Controller
{
}
public class MembersController : BaseApiController
{
//route -> /api/members/getdetails (expected, working)
public ActionResult GetDetails()
{
}
//route -> /api/members/getstate (expected)
//route -> /getstate (actual)
[HttpPost("getstate")]
public ActionResult GetStateByIp(IpRequestViewModel ip)
{
}
}
In Startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllers();
endpoints.MapAreaControllerRoute(
name: "xxxxx",
"xxxxx", pattern:
"xxxxx/{controller}/{action}");
});
}