Как перенаправить маршрут API на другой маршрут API в asp.net

#asp.net #asp.net-mvc #api #redirect #http-redirect

Вопрос:

Я довольно новичок в ASP.NET У MVC и у меня есть ситуация, когда у меня есть один устаревший маршрут API, для которого, если кто-то попытается получить доступ к этому маршруту API, мне нужно перенаправить его на новый маршрут API.

Пример: GET /api/v1/GetNames (устаревший API) —> GET /api/v2/GetNames с кодом ответа 308

Есть идеи/примеры, как это сделать? Я пытаюсь использовать метод RedirectResult (), но я все еще получаю код ответа 200 со следующим текстом:

 {
  permanent: true,
  preseveMethod: true,
  url: "/api/v2/getNames"
}
 
  [System.Web.Http.HttpGet]
 [System.Web.Http.Route("/v1/getNames")]
 public IActionResult Get() {
 return new RedirectResult("/v2/getNames", true, true);
}
 

Ответ №1:

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

  [Get("/v1/getNames")]
[Get("/v2/getNames")]
 public IActionResult NewAction() 
.....