У меня есть внутренний API, скажем:
GET https://bk.my.com/api/store/goods
, и я использую управление API Azure в качестве прокси.вот основные настройки для моего API «My Test API»
Web Service URL: https://bk.my.com/
API URL suffix :
Base URL
https://bk-xxx.azure-api.net
операция добавления API, вот настройки операции (интерфейс, я использую только это, другие настройки сохраняют настройки по умолчанию)
Display Name: Get all goods
Name : get-all-goods
URL : GET /api/store/goods
это работает.так как
https://bk-xxx.azure-api.net/api/store/goods => https://bk.my.com/api/store/goods
, теперь мне нужно добавить новую версию для этого API.Вот API v2 в бэкэнде.
GET https://bk.my.com/api/v2/store/goods
Я создаю имя API новой версии 'v2', используя классификацию заголовков
GET https://bk-xxx.azure-api.net/[operation]
api-version: v2
, поэтому в «My Test API»есть две версии
>My Test API <operation> <frontend> <inbound>
Original -> get-all-goods -> GET /api/store/goods
v2 -> get-all-goods -> GET /api/store/goods <inbound>
<base />
<rewrite-uri template="/api/v2/store/goods" />
</inbound>
, когда я тестирую API v2, но он не работает, трассировка говорит:
configuration (0 ms)
{
"message": "Unable to identify Api or Operation for this request. Responding to the caller with 404 Resource Not Found."
}
, затем я пытаюсь исправить операцию API v2, удалив rewrite-uri
>My Test API <operation> <frontend> <inbound>
Original -> get-all-goods -> GET /api/store/goods
v2 -> get-all-goods -> GET /api/v2/store/goods
это работает сейчас.
поэтому мой вопрос, почему не работают rewrite-uri?