Сделать разные версии REST API с помощью генерации их через openapi
Имеется необходимость сделать версионирование REST api.
Изначально была спецификация:
openapi: "3.0.2"
info:
title: "API"
description: "API"
version: "1.0.0"
servers:
- url: "http://server/api/v1"
paths:
/process/start: ...
/request/limit: ...
components: ...
После компиляции были сгенерированы интерфейсы:
ProcessApi, RequestApi, ProcessApiDelegate, RequestApiDelegate
Я подумал будет просто и поменял так:
openapi: "3.0.2"
info:
title: "API"
description: "API"
version: "1.0.0"
servers:
- url: "http://server/api"
paths:
/v1/process/start: ...
/v2/request/limit: ...
components: ...
И к моему удивлению, но вполне конечно законно сгенерились интерфейсы: V1Api, V2Api, V1ApiDelegate, V2ApiDelegate что естественно не подходит при имеющемся коде на первую версию рестов.
Можно как-то заставить пропустить первый параметр(v1,v2) и генерить файлы как обычно?
Или ещё один вариант как-то указывать какой сервер("http://server/api/v1" или "http://server/api/v2") использовать для каждого реста?
Ну или другие любые примеры которые мне помогут решить эту задачу :(
Спасибо.
Ответы (1 шт):
Решил, добавив в configOptions строку
<useTags>true</useTags>
И прописав необходимый нейминг в тегах
tags:
- Process