Расширение Spring Spring Swagger не может привязать дочерний объект расширения вендора к родительскому или корневому объекту. - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь использовать функциональность расширений swagger vendor для создания собственного документа json swagger.Я использую пружинную загрузку с необходимыми зависимостями чванства.Я пытаюсь сгенерировать приведенный ниже пример json, используя расширения вендора

"my-api-definition": {
    "api_name": "locationServices",
    "personnel": {
        "owner": "EON",
        "portfolio": "location",
        "development_team": "Location tracker team",
        "developers": [
            "vinod",
            "sam"
        ],
        "architect": [
            "achiles"
        ]
    },
    "workload_placements": [
        {
            "proxy_pattern": "co-located"
        }
    ],
    "endpoints": {
        "internal": {
            "production": null,
        },
        "external": {
            "production": "https://locationapis.com",
        }
    }
}

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

ObjectVendorExtension rootExtention = new ObjectVendorExtension ("моя-апи-определение");rootExtention.addProperty (new StringVendorExtension ("api_name", "locationServices"));

Я не могу добавить вложенный объект или массив (персонал, рабочие нагрузки, конечные точки и т. д.) в родительский объект.

Я использую приведенный ниже код для создания дочернего объекта расширения поставщика

ObjectVendorExtension personnel = new ObjectVendorExtension("personnel");
    personnel.addProperty(new StringVendorExtension("owner", "EON"));
    personnel.addProperty(new StringVendorExtension("portfolio", "location"));
    personnel.addProperty(new StringVendorExtension("development_team", "Location tracker team"));
    ArrayList<String> developers = new ArrayList<>();
    developers.add("vinod");
    developers.add("sam");

    ArrayList<String> architects = new ArrayList<>();
    architects.add("achiles");
    ListVendorExtension<String> developersList = new ListVendorExtension<>("developers", developers);
    ListVendorExtension<String> architect = new ListVendorExtension<>("architect", architects);
    personnel.addProperty(developersList);
    personnel.addProperty(architect);

Я не могу добавить дочерний объект внутри родительского объекта.Есть идеи, как этого добиться.

...