Безопасность Swagger - помечать подпуть как общедоступный, если родитель является частным? Например, / API / Public/** и / API / **
Я хотел бы сказать Swagger (через Java), что набор путей требует аутентификации, например /api/**
но это не конкретный подпуть, например /api/public/**
,
Я думал, что можно было бы добавить SecurityContext
за /api/public/**
вот так:
SecurityContext.builder()
.securityReferences(new ArrayList<>())
.forPaths(PathSelectors.ant("/api/public/**"))
.build()
Т.е. в дополнение к контексту, который я построил для /api/**
Я мог бы добавить один для /api/public/**
без ссылок безопасности, и что если бы я понял порядок, то этот дополнительный контекст соответствовал бы любому подходящему пути, а не /api/**
контекст.
Но это не то, как все работает - когда сопоставление происходит, оно не просто останавливается на первом совпадении, оно фактически ищет все совпадения. Так что путь как /api/public/foo
будет соответствовать как /api/*
а также /api/public/**
контекст.
Так есть ли способ достичь того, что я хочу, то есть, когда я использую Swagger UI, я бы не хотел видеть значок блокировки рядом с такими путями, как /api/public/foo
,