Проблема управления API Azure с OData - PullRequest
0 голосов
/ 27 февраля 2019

У нас есть API-интерфейс OData v4, который мы помещаем за службу управления API-интерфейсом Azure (AAM), но столкнулись с проблемой настройки маршрутов / операций.В двух словах, проблема в том, что AAM будет отклонять запрос для маршрута / операции, если он не настроен явно (вы получаете ошибку 404), но с OData может быть маршрут для каждого атрибута (свойства) каждой операции (конечной точки).).Проблема быстро становится неуправляемой.

OData позволяет запрашивать отдельный атрибут / свойство (например, GET ~ / api / Person (1234) / FirstName. Если мы поместим это за AAM, нам нужно определить его как операцию. Это нормально, покатак как их всего несколько, но это потенциально означает, что вам нужно быстро определить сотни / тысячи операций (если я ничего не пропустил). У нас есть API с примерно 35 операциями верхнего уровня. Каждый ресурс имеет в среднем 20 атрибутовЭто 700 операций, которые нам необходимо определить. Помимо работы, это будет шокирующим опытом для пользователей портала разработчиков AAM.

Я надеюсь, что кто-нибудь подскажет мне простой способ обойти это.Эта проблема. Я знаю, что могу создать сценарий для их создания. Вы также можете обойти эту проблему в некоторой степени, если используете параметр запроса OData $ select (что я и предложил в то же время). Я не могу получитьиз-за ощущения, что я что-то здесь упустил. Есть ли способ определения какой-то подстановочной части для операции (например, / Perсын/*)?Я не могу найти ничего подобного в документации AAM.

1 Ответ

0 голосов
/ 27 февраля 2019

Попробуйте использовать шаблоны URL вместо того, чтобы писать их явно, т. Е. Определить операции для /{entity}/{property} таким образом, чтобы он соответствовал каждой сущности и каждому свойству каждой сущности.И вы также можете использовать символы подстановки, если хотите захватить несколько сегментов в конце URL.

...