Springfox - схема динамического чванства - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть приложение Java SpringBoot - микросервис REST. Книга-подписка microservice .

Существует несколько клиентов, которые используют этот микросервис (интерфейс, мобильный, подписка и т. Д.).

Возвращает книги.

{
    "title" : "A book",
    "author" : "An author",
    "reviews" : [
        {
            "title" : "Great Book"
            "author" : "Reader - John"
            "content" : "Oh, such a good book, and it makes me feel so good"
        }
    ]
}

JSON схема

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "http://example.com/book.schema.json",
    "title": "Book",
    "description": "A book from books-subscription-microservice",
    "type": "object",
    "properties": {
        "title": {
            "description": "The unique title for a book",
            "type": "string"
        },
        "author": {
            "description": "author of the book",
            "type": "string"
        },
        "reviews": {
            "description": "Reviews of other people about the book",
            "type": "array",
            "items": {
                "$ref": "https://example.com/book-review.schema.json"
            },
            "minItems": 1,
        }
    },
    "required": [ "title", "author" ]
}

Схема Swagger

"Book": {
    "type": "object",
    "required": [
        "title",
        "author"
    ],
    "properties": {
        "title": {
            "type": "string"
        },
        "author": {
            "type": "string"
        }
        "reviews": {
            "type": "array",
            "items": {
                "$ref": "#/defeitions/review"
            }
        }
    },
    "title": "Money"
}

TODO Обновите вопрос и добавьте, как я генерирую схему чванства в данный момент

Как мне вернуть схему Swagger динамически ? Например, для премиум-клиентов я верну полные книги, для клиентов из сообщества я верну книги без рецензий? И соответствующая схема чванства?

...