SwaggerConfig.java
1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.aigeo.common.config;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Swagger/OpenAPI 配置类
*
* @author AIGEO Team
* @since 1.0.0
*/
@Configuration
public class SwaggerConfig {
private static final String SECURITY_SCHEME_NAME = "bearerAuth";
@Bean
public OpenAPI openAPI() {
return new OpenAPI()
.info(apiInfo())
.addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME))
.components(new Components()
.addSecuritySchemes(SECURITY_SCHEME_NAME, securityScheme())
);
}
private Info apiInfo() {
return new Info()
.title("AIGEO AI内容生成平台 API")
.description("一个强大的AI驱动的内容生成和发布平台,支持文章生成、落地页构建、网站创建等功能")
.version("1.0.0")
.contact(new Contact()
.name("AIGEO团队")
.email("admin@aigeo.com")
.url("https://www.aigeo.com"))
.license(new License()
.name("MIT License")
.url("https://opensource.org/licenses/MIT"));
}
private SecurityScheme securityScheme() {
return new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")
.description("JWT认证令牌");
}
}