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/auth/**").permitAll()
|
||||||
.requestMatchers("/api/public/**").permitAll()
|
.requestMatchers("/api/public/**").permitAll()
|
||||||
.requestMatchers("/health").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()
|
.anyRequest().authenticated()
|
||||||
)
|
)
|
||||||
.sessionManagement(session -> session
|
.sessionManagement(session -> session
|
||||||
|
|||||||
@@ -39,6 +39,16 @@ app:
|
|||||||
server:
|
server:
|
||||||
port: 8080
|
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 configuration
|
||||||
logging:
|
logging:
|
||||||
level:
|
level:
|
||||||
|
|||||||
Reference in New Issue
Block a user