feat(api): Swagger UI + docs/integration для Альтума и других consumer'ов
Springdoc-openapi генерирует OpenAPI 3 spec из аннотаций контроллеров — интеграторам не нужно поддерживать markdown-ТЗ синхронно с кодом. - /swagger-ui.html (UI), /v3/api-docs (JSON), /v3/api-docs.yaml. - OpenApiConfig: title/description/contact/servers (staging+prod+local), bearerAuth security scheme (Keycloak JWT). - SecurityConfig: permitAll на swagger paths. Документация: - docs/integration/altum-imaging-order.md — ТЗ интеграции «Заказ съёмки». Согласованы: m2m service account через Keycloak, BFF в altum-backend (FastAPI), 4 справочника со схемами, cascading select через instrument.supported_*_codes, snapshot strategy для аудита. - docs/tech/api-integration.md — общий гайд для интеграторов: auth flow, endpoints, кэш-стратегии, bitemporal модель, current dictionaries, cross-refs, best practices. Скрипты codegen openapi-generator-cli работают off /v3/api-docs.
This commit is contained in:
@@ -42,6 +42,14 @@ public class SecurityConfig {
|
||||
.authorizeHttpRequests(auth -> {
|
||||
auth.requestMatchers("/actuator/**").permitAll();
|
||||
auth.requestMatchers("/error").permitAll();
|
||||
// Swagger UI + OpenAPI spec — открыты для интеграторов (Альтум, ...).
|
||||
auth.requestMatchers(
|
||||
"/swagger-ui.html",
|
||||
"/swagger-ui/**",
|
||||
"/v3/api-docs",
|
||||
"/v3/api-docs/**",
|
||||
"/v3/api-docs.yaml"
|
||||
).permitAll();
|
||||
if (props.requireAuthentication()) {
|
||||
auth.anyRequest().authenticated();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user