Personalización de la especificación OpenAPI
DPSv2 proporciona una especificación OpenAPI genérica. Esto significa que los usuarios deben apoyarse en el Schemas API para explorar esquemas, ejemplos de payload y otros detalles. Desde la perspectiva del usuario, este proceso puede ser lento y, más importante, poco amigable.
Para abordar esto, DPSv2 ofrece una API personalizada disponible en /v3/api-docs o a través de Swagger UI (normalmente disponible en /webjars/swagger-ui/index.html). La versión personalizada modifica la UI para que cada API genérica (es decir, una API con un parámetro settingType) se reescriba para proporcionar una API específica para cada tipo de configuración.
Por ejemplo, imagine que existe un tipo de configuración llamado ibanplus. La API genérica POST /settings-objects/{settingType} se reescribiría como POST /settings-objects/ibanplus. Además, todas las operaciones relacionadas se agruparían bajo el tipo de configuración específico.
El objetivo de la librería de DPSv2 es personalizar la UI y los esquemas tanto como sea posible, garantizando que el usuario final requiera un mínimo esfuerzo. Sin embargo, si se necesitan más ajustes a la especificación OpenAPI, es posible personalizarla programáticamente:
SettingDefinition.<TestSetting>builder()
.settingDefinitionOpenAPISpecCustomizer((settingDefinition, openAPI) -> {
// Customize OpenAPI spec for this setting
})
.build();