Как заставить перенаправления .NET работать с API, развернутым в службе управления API Azure с суффиксом URL? - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть несколько API-интерфейсов, которые предоставляются службой управления API Azure.

Служба управления API имеет домен, и у каждого API есть собственная настройка «Суффикс URL-адреса API» на портале Azure, как показано ниже:

Проблемазаключается в том, что когда любой из этих API-интерфейсов выполняет перенаправление с использованием методов Redirect или RedirectToAction, он не включает «Суффикс URL-адреса API» в новом URL-адресе, и это приводит к тому, что Azure возвращает ошибку 404.

например

Вызов

https://www.example.com/first/api/v1/controller/action

, который должен перенаправить на

https://www.example.com/first/api/v1/controller/redirected

, фактически перенаправляет на

https://www.example.com/api/v1/controller/redirected

, который не можетбыть найденным.

Я не знаю, является ли это проблемой Azure, проблемой кодирования или проблемой HTTP.

Относительно заголовков относительного местоположения учитывает только домен при перенаправлении и ничегочто следует за доменом?

Должен ли я просто жестко кодировать "URL-суффикс API" в вызовах Redirect и RedirectToAction?

Должен ли я настроить какой-либо прокси-сервер для своей среды разработки, а затем добавить суффикс перед фактическими маршрутами при тестировании?

Нужно ли вручную проверять, чтобы и код, и параметры Azure были вsync?

Или есть какие-то настройки Azure, которые это исправят, поэтому я перенаправляю, на самом деле, будет работать с «API-суффиксом URL»?

Или есть ли другой способ обойти это? ? Есть ли какие-то уродливые манипуляции со строками, которые я должен был бы сделать, используя URL-адрес запроса?

1 Ответ

0 голосов
/ 03 ноября 2019

Вы можете использовать политику в управлении API:

Перезаписать URL

<policies>
<inbound>
    <base />
    <rewrite-uri template="/v2/US/hardware/{storenumber}&{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
    <base />
</outbound>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...