Swagger @SecurityDefinition注解的作用是定义安全模式和安全模式的名称,用于API文档中描述如何进行身份验证和授权。在使用OAuth2或其他安全模式时,可以使用该注解来指定安全模式的名称、类型和范围等详细信息。
示例:
@SecurityDefinition(
basicAuthDefinitions = {
@BasicAuthDefinition(
key = "basicAuth",
description = "Basic authentication with username and password"
)
},
oAuth2Definitions = {
@OAuth2Definition(
key = "oauth2",
tokenUrl = "https://api.example.com/oauth/token",
flow = OAuth2Definition.Flow.PASSWORD,
scopes = {
@Scope(name = "read", description = "read access"),
@Scope(name = "write", description = "write access")
}
)
}
)
public class SwaggerConfig {
// ...
}
在此示例中,定义了两种不同类型的安全模式:basicAuth和oauth2。其中,basicAuth是基本身份验证模式,只需要提供用户名和密码即可进行身份验证。oauth2则需要访问令牌进行身份验证,使用密码流程来获取令牌,并且具有读取和写入两种不同的范围。