swagger
This commit is contained in:
39
src/main/java/com/yundage/chat/config/OpenApiConfig.java
Normal file
39
src/main/java/com/yundage/chat/config/OpenApiConfig.java
Normal 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");
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user