У меня есть приложение S , которое работает как прямой прокси. У меня есть приложение APP , которое является шлюзом для нескольких микросервисов: автосервис, пользовательский сервис и т. Д. (Давайте рассмотрим, что это одно приложение с точки зрения S ),и APP имеет несколько конечных точек:
GET /api/app/users
POST /api/app/users
GET /api/app/users/{user_id}/places
GET /api/app/cars
POST /api/app/cars
Приложение APP также имеет конечную точку GET /api/app/swagger.json
, которая предоставляет файл json swagger о конечных точках служб.
Как мне составить список пар [конечная точка: разрешение] из swagger json? примеры этой пары [/users:view]
, [users:add]
, [cars:view]
и т. д.
Что я пробовал:
1. Используя жестко запрограммированную конфигурацию
, я создал бы файл s-config.yml
, в котором я предоставляю список сопоставлений [ресурс: разрешение]:
resources:
- endpoint: /users
permission: view
- endpoint: /users
permission: add
- endpoint: /cars
permission: view
, а затем определяю конфигурацию Spring в моем приложении
@Configuration
public class ResourceConfig {
// define resources here.
}
2 parse swagger json file
Например, эта библиотека может помочь с использованием библиотеки swagger-parser . Пока он не будет содержать разрешения, но пока все нормально.
Ваши предложения?