Хорошо, по крайней мере, с dropwizard-swagger, который поддерживает OpenAPI v2, используйте эти аннотации над классом:
@SwaggerDefinition(securityDefinition = @SecurityDefinition(
apiKeyAuthDefinitions = {
@ApiKeyAuthDefinition(key = "custom",
name = "authorization",
in = ApiKeyAuthDefinition.ApiKeyLocation.HEADER,
description = "Bearer Authentication")}))
И над методом укажите ссылку на безопасность:
@ApiOperation(authorizations = @Authorization("custom"),
value = "Requires Authentication. Returns dashboard",
notes = "Requires Authentication. Returns dashboard",
response = ResultResponse.class
)
@Path("/getDashboard")
@POST
public ResultResponse getDashboard(@Auth @ApiParam(hidden = true) APIKeyPrincipal apiKeyPrincipal,
@ApiParam(value = "Calculator Request", required = true) CalculatorRequest req) {
Ееважно добавить @ApiParam (hidden = true), чтобы он не отображался в пользовательском интерфейсе Swagger.
В пользовательском интерфейсе Swagger вы должны увидеть значок замка, где вы вводите данные. Не забудьте также указать имя токена на предъявителя, например, «Несущий». Теперь вы также должны увидеть значок замка рядом с API, и вы можете проверить его.