Я бы хотел сказать 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
.