This commit is contained in:
yahaozhang
2025-07-20 14:27:23 +08:00
parent b07acbd5e5
commit 479f671edc
3 changed files with 55 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
package com.yundage.chat.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;
@Configuration
public class OpenApiConfig {
@Bean
public OpenAPI openAPI() {
return new OpenAPI()
.info(new Info()
.title("云搭公服对话API")
.description("云搭公服对话系统API文档")
.version("v1.0.0")
.contact(new Contact()
.name("Yundage")
.url("https://www.yundage.com")
.email("support@yundage.com"))
.license(new License().name("Private").url("https://www.yundage.com")))
.addSecurityItem(new SecurityRequirement().addList("Bearer Authentication"))
.components(new Components()
.addSecuritySchemes("Bearer Authentication", createAPIKeyScheme()));
}
private SecurityScheme createAPIKeyScheme() {
return new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.bearerFormat("JWT")
.scheme("bearer");
}
}

View File

@@ -54,6 +54,12 @@ public class SecurityConfig {
.requestMatchers("/api/auth/**").permitAll()
.requestMatchers("/api/public/**").permitAll()
.requestMatchers("/health").permitAll()
.requestMatchers("/swagger-ui/**").permitAll()
.requestMatchers("/swagger-ui.html").permitAll()
.requestMatchers("/api-docs/**").permitAll()
.requestMatchers("/v3/api-docs/**").permitAll()
.requestMatchers("/swagger-resources/**").permitAll()
.requestMatchers("/webjars/**").permitAll()
.anyRequest().authenticated()
)
.sessionManagement(session -> session

View File

@@ -39,6 +39,16 @@ app:
server:
port: 8080
# SpringDoc OpenAPI configuration
springdoc:
api-docs:
path: /api-docs
swagger-ui:
path: /swagger-ui.html
try-it-out-enabled: true
operationsSorter: method
tagsSorter: alpha
# Logging configuration
logging:
level: