Базовая авторизация Swagger не работает с аннотацией @Api. Но при использовании с @Apioperation она работает нормально.Я хочу применить базовую авторизацию на уровне контроллера, а не на уровне метода.
используется следующим образом:
@RestController
@Slf4j
@Api(value="API related ",authorizations = {@Authorization(value="basicAuth")})
@RequestMapping(value="invoices",produces =MediaType.APPLICATION_JSON_UTF8_VALUE)
@SuppressWarnings("rawtypes")
public class InvoiceController {
@SuppressWarnings("unchecked")
@GetMapping
@ApiOperation(value = "${InvoiceController.getAll.notes}", notes="${InvoiceController.getAll.notes}",response = Invoice.class)
@ApiResponses(value = {@ApiResponse(code = 200, message = "Successfully retrieved list of invoices")})
public @ResponseBody ResponseEntity<Response> getAll(@Valid PaginationDto pagination,@Valid InvoiceFilterCriteriaDto filter)
throws GenericServiceException{
}
}
в основном классе, создал Docket, как показано ниже, упомянув базовую аутентификацию:
List<SecurityScheme> schemeList = new ArrayList<>();
schemeList.add(new BasicAuth("basicAuth"));
return new Docket(DocumentationType.SWAGGER_2)
.forCodeGeneration(true)
.produces(new HashSet<>(Arrays.asList( new String[] { MediaType.APPLICATION_JSON_UTF8_VALUE.toString()})))
.apiInfo(apiInfo())
.securitySchemes(schemeList)