diff --git a/Dockerfile b/Dockerfile index 451b5b6..a0be7bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,8 +8,11 @@ WORKDIR /root/java # 添加demo-start-1.0.0.jar文件到docker环境内 #ADD xf-boot-base-1.0.1.jar /root/java/xf-boot-base-1.0.1.jar +#coding服务配置 COPY target/*.jar app.jar # 暴露端口8080 -EXPOSE 8080 +#EXPOSE 8080 # 运行命令 -ENTRYPOINT ["java", "-server", "-Xms512m", "-Xmx512m", "-jar", "/root/java/xf-boot-base-1.0.1.jar"] \ No newline at end of file +#ENTRYPOINT ["java", "-server", "-Xms512m", "-Xmx512m", "-jar", "/root/java/xf-boot-base-1.0.1.jar"] +#coding服务配置 +ENTRYPOINT ["java","-Djava.security.egd=file:/dev/urandom","-Dfile.encoding=UTF-8","-Duser.timezone=Asia/Shanghai","-XX:MaxDirectMemorySize=1024m","-XX:MetaspaceSize=256m","-XX:MaxMetaspaceSize=512m","-XX:MaxRAMPercentage=80.0","-jar","app.jar"] \ No newline at end of file diff --git a/src/main/java/cn/xf/basedemo/config/SpringFoxSwaggerConfig.java b/src/main/java/cn/xf/basedemo/config/SpringFoxSwaggerConfig.java index 9fe2707..9916e8d 100644 --- a/src/main/java/cn/xf/basedemo/config/SpringFoxSwaggerConfig.java +++ b/src/main/java/cn/xf/basedemo/config/SpringFoxSwaggerConfig.java @@ -1,5 +1,6 @@ package cn.xf.basedemo.config; +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; import org.springframework.boot.actuate.autoconfigure.endpoint.web.CorsEndpointProperties; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType; @@ -12,15 +13,17 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.RestController; import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.oas.annotations.EnableOpenApi; +import springfox.documentation.schema.ModelRef; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; +import springfox.documentation.service.Parameter; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; import java.util.ArrayList; import java.util.Collection; @@ -33,41 +36,30 @@ import java.util.List; * @author: xiongfeng * @create: 2022-06-16 16:44 **/ -@EnableOpenApi @Configuration +@EnableKnife4j public class SpringFoxSwaggerConfig { - /** - * 配置基本信息 - * @return - */ @Bean - public ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("Swagger Test App Restful API") - .description("swagger test app restful api") - .termsOfServiceUrl("https://github.com/RemainderTime") - .contact(new Contact("君燕尾","https://blog.csdn.net/qq_39818325","fairy_xingyun@hotmail.com")) - .version("1.0") - .build(); - } - - /** - * 配置文档生成最佳实践 - * @param apiInfo - * @return - */ - @Bean - public Docket createRestApi(ApiInfo apiInfo) { - return new Docket(DocumentationType.OAS_30) - .apiInfo(apiInfo) - .groupName("SwaggerGroupOneAPI") + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) .select() - .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)) + .apis(RequestHandlerSelectors.basePackage("com.didiplus")) .paths(PathSelectors.any()) .build(); } + private ApiInfo apiInfo() { + Contact contact =new Contact("","",""); + return new ApiInfoBuilder() + .title("SpringBoot项目 后台服务API接口文档") + .description("使用 knife4j 搭建的后台服务API接口文档") + .termsOfServiceUrl("http://localhost:8088/") + .contact(contact) + .version("1.0.0") + .build(); + } /** * 增加如下配置可解决Spring Boot 6.x 与Swagger 3.0.0 不兼容问题 **/ diff --git a/src/main/java/cn/xf/basedemo/controller/UserController.java b/src/main/java/cn/xf/basedemo/controller/UserController.java index 8066eb3..c6d5983 100644 --- a/src/main/java/cn/xf/basedemo/controller/UserController.java +++ b/src/main/java/cn/xf/basedemo/controller/UserController.java @@ -6,6 +6,7 @@ import cn.xf.basedemo.interceptor.SessionContext; import cn.xf.basedemo.model.res.LoginInfoRes; import cn.xf.basedemo.service.UserService; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -20,7 +21,8 @@ import org.springframework.web.bind.annotation.RestController; * @author: xiongfeng * @create: 2022-06-28 09:17 **/ -@RestController +@Api(tags = "用户控制器") +@RestController(value = "用户控制器") @RequestMapping("/user") public class UserController { diff --git a/src/main/java/cn/xf/basedemo/controller/LoginController.java b/src/main/java/cn/xf/basedemo/controller/WebController.java similarity index 96% rename from src/main/java/cn/xf/basedemo/controller/LoginController.java rename to src/main/java/cn/xf/basedemo/controller/WebController.java index 283eb49..a0461a7 100644 --- a/src/main/java/cn/xf/basedemo/controller/LoginController.java +++ b/src/main/java/cn/xf/basedemo/controller/WebController.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping; **/ @Controller @RequestMapping("web") -public class LoginController { +public class WebController { /** * @Description 进入登录页面 diff --git a/src/main/java/cn/xf/basedemo/interceptor/InterceptorConfig.java b/src/main/java/cn/xf/basedemo/interceptor/InterceptorConfig.java index 4e9cfda..721f8db 100644 --- a/src/main/java/cn/xf/basedemo/interceptor/InterceptorConfig.java +++ b/src/main/java/cn/xf/basedemo/interceptor/InterceptorConfig.java @@ -3,6 +3,7 @@ package cn.xf.basedemo.interceptor; import cn.xf.basedemo.interceptor.TokenInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** @@ -21,4 +22,16 @@ public class InterceptorConfig implements WebMvcConfigurer { .addPathPatterns("/**") //需要拦截的请求(设置的全部拦截) .excludePathPatterns("/user/login","/web/**"); //忽略的请求 } + + + /** + * 放行Knife4j请求 + * @param registry + */ + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + + } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 5a325a7..852b407 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -36,7 +36,6 @@ spring: adaptive: true #拓扑动态感应即客户端能够根据 redis cluster 集群的变化,动态改变客户端的节点情况,完成故障转移。 period: 60s #刷新redis集群状态周期时间 - global: rsaPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC_F5UQC1QWsu3QsESQBz9M-GDA9Atm0qVSvwIsy568lyRLi-nq3VvvnmgrlL4yTbngFzyfb2Dn35cNCHsBvIaGuCY3_PpzPqMzVpxr2QlEkhEX9atnJQ1rWexS8QeZtPjpiIwoQrChTzXjD_sYUkDrqSykFplyivf0NSO2WqCBdwIDAQAB rsaPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL8XlRALVBay7dCwRJAHP0z4YMD0C2bSpVK_AizLnryXJEuL6erdW--eaCuUvjJNueAXPJ9vYOfflw0IewG8hoa4Jjf8-nM-ozNWnGvZCUSSERf1q2clDWtZ7FLxB5m0-OmIjChCsKFPNeMP-xhSQOupLKQWmXKK9_Q1I7ZaoIF3AgMBAAECgYBxTUA61Ry0oL7U_86HP2TO9G4ZuhmQi9EucMaPXOPvmgYRLRIzCbDbMKc_P-BN3zwYnG57cgSZNz9OoPqeGvP_oVTnkoEpVkCSV-JP2p_DK09LdbDqszJXMrxAkPmWGUw8IRMcTJT1xJJcgzFE6T0CmTo-Vk47AnmqfJD4U6o74QJBAPRjVUJKZnrMSnSqKPDL2ThgTo8h7-KFxl_Z-g724lTOFiCmBpi6nCWAcuacFRrrYqxF-r9c4zdIyR7AvLROql8CQQDIK_kRF52dVtwShciZhyeUBLoi0nWV9F8mMGt60NTEER9zPEgPsv2aVn8h97KMWOwmd2Da4EPm25QxOuaKQC_pAkBczcfXp5co9KElkmR_pHl1jiTm97U3qSM-zPDHc_tYxvXiKgoBP4QCPbfkWMsu8MoEr4Jb3vMt0EcHlZtTQTgzAkAfmNla-lhV4sUgY1_T5EK6GbjsED6hag6u74u3ukkrnexR-10ApWdkumydBwV3I_464DM4uZfeVCDjWIHVpuYpAkEA6QLPztGD4V8Q1PqTEeSF3i68CKPM8vO1_mCH2JD7qsqDQcIKkczj5rTg7hlOKwB9V6gSw4CbnOF6moTooRD-cQ