From 036f7bb9b3f9cab42368c9cbfd35bbfea75039ad Mon Sep 17 00:00:00 2001 From: "qinxiaodong@pannk.com" Date: Mon, 30 Nov 2020 18:02:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mms/pom.xml | 12 ++---- mms/src/main/java/com/pannk/mms/App.java | 14 ++++++- .../mms/common/config/Knife4jConfig.java | 41 +++++++++++++++++++ .../pannk/mms/common/config/ShiroConfig.java | 3 +- .../sys/controller/SysLoginController.java | 26 +++++++++++- mms/src/main/resources/application.yml | 2 + 6 files changed, 85 insertions(+), 13 deletions(-) create mode 100644 mms/src/main/java/com/pannk/mms/common/config/Knife4jConfig.java diff --git a/mms/pom.xml b/mms/pom.xml index 061206d..8f13a95 100644 --- a/mms/pom.xml +++ b/mms/pom.xml @@ -20,7 +20,6 @@ 1.2.3 1.4.0 1.2.73 - 2.7.0 2.6 1.10 2.5 @@ -86,14 +85,9 @@ ${poi.version} - io.springfox - springfox-swagger2 - ${swagger.version} - - - io.springfox - springfox-swagger-ui - ${swagger.version} + com.github.xiaoymin + knife4j-spring-boot-starter + 2.0.8 org.apache.shiro diff --git a/mms/src/main/java/com/pannk/mms/App.java b/mms/src/main/java/com/pannk/mms/App.java index e043c93..047579f 100644 --- a/mms/src/main/java/com/pannk/mms/App.java +++ b/mms/src/main/java/com/pannk/mms/App.java @@ -2,14 +2,26 @@ package com.pannk.mms; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import springfox.documentation.spring.web.SpringfoxWebMvcConfiguration; /** * MMS系统 * Created by wolf on 20-11-2. */ +@ConditionalOnClass(SpringfoxWebMvcConfiguration.class) @SpringBootApplication -public class App { +public class App implements WebMvcConfigurer { public static void main(String[] args) { SpringApplication.run(App.class, args); } + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("classpath*:/META-INF/resources/doc.html").addResourceLocations + ("classpath*:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations("classpath*:/META-INF/resources/webjars/"); + } } diff --git a/mms/src/main/java/com/pannk/mms/common/config/Knife4jConfig.java b/mms/src/main/java/com/pannk/mms/common/config/Knife4jConfig.java new file mode 100644 index 0000000..beec27a --- /dev/null +++ b/mms/src/main/java/com/pannk/mms/common/config/Knife4jConfig.java @@ -0,0 +1,41 @@ +package com.pannk.mms.common.config; + +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; + +/** + * Created by wolf on 20-11-30. + */ +@EnableSwagger2WebMvc +@EnableKnife4j +@Import(BeanValidatorPluginsConfiguration.class) +@Configuration +public class Knife4jConfig { + + + @Bean + public Docket createRestApi() { + Docket docket = new Docket(DocumentationType.SWAGGER_2) + .apiInfo(new ApiInfoBuilder() + .description("# swagger-bootstrap-ui-demo RESTful APIs") + .contact(new Contact("Dike", "http://www.pannk.com", "dikeqin@gmail.com")) + .version("1.0") + .build()) + .select() + //这里指定Controller扫描包路径 + .apis(RequestHandlerSelectors.basePackage("com.pannk.mms.modules")) + .paths(PathSelectors.any()) + .build(); + return docket; + } +} diff --git a/mms/src/main/java/com/pannk/mms/common/config/ShiroConfig.java b/mms/src/main/java/com/pannk/mms/common/config/ShiroConfig.java index a51bde6..936a526 100644 --- a/mms/src/main/java/com/pannk/mms/common/config/ShiroConfig.java +++ b/mms/src/main/java/com/pannk/mms/common/config/ShiroConfig.java @@ -50,9 +50,10 @@ public class ShiroConfig { filterMap.put("/druid/**", "anon"); filterMap.put("/sys/login", "anon"); filterMap.put("/swagger/**", "anon"); - filterMap.put("v2/api-docs", "anon"); + filterMap.put("/v2/api-docs", "anon"); filterMap.put("/swagger-ui.html", "anon"); filterMap.put("/swagger-resources/**", "anon"); + filterMap.put("/doc.html", "anon"); filterMap.put("/**", "oauth2"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterMap); diff --git a/mms/src/main/java/com/pannk/mms/modules/sys/controller/SysLoginController.java b/mms/src/main/java/com/pannk/mms/modules/sys/controller/SysLoginController.java index c68dbf3..bc425d1 100644 --- a/mms/src/main/java/com/pannk/mms/modules/sys/controller/SysLoginController.java +++ b/mms/src/main/java/com/pannk/mms/modules/sys/controller/SysLoginController.java @@ -24,9 +24,13 @@ package com.pannk.mms.modules.sys.controller; import com.pannk.mms.common.base.BaseController; -import com.pannk.mms.modules.sys.vo.LoginForm; import com.pannk.mms.common.base.Result; import com.pannk.mms.modules.sys.service.SysUserService; +import com.pannk.mms.modules.sys.vo.LoginForm; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -39,6 +43,7 @@ import javax.servlet.http.HttpServletRequest; * @author:wolf * @date:2020/11/2 23:13 **/ +@Api(tags = "系统登录") @RequestMapping("/sys") @RestController public class SysLoginController extends BaseController { @@ -46,14 +51,31 @@ public class SysLoginController extends BaseController { @Autowired private SysUserService sysUserService; + /** + * 用户登录 + * + * @param loginForm 登录对象 + * @return + */ + @ApiOperation(nickname = "登录", value = "登录", notes = "用户名+密码登录") + @ApiImplicitParams(@ApiImplicitParam(value = "登录对象", name = "loginForm", required = true, dataTypeClass = LoginForm + .class)) @PostMapping("/login") public Result login(@RequestBody LoginForm loginForm) { return sysUserService.login(loginForm); } + + /** + * 登出 + * + * @param request 请求 + * @return + */ + @ApiOperation(nickname = "登出", value = "登出", notes = "用户退出系统") @PostMapping("/logout") public Result logout(HttpServletRequest request) { - sysUserService.logout(getUserId(),request.getHeader("token")); + sysUserService.logout(getUserId(), request.getHeader("token")); return Result.success(); } } diff --git a/mms/src/main/resources/application.yml b/mms/src/main/resources/application.yml index 17191d0..967f42f 100644 --- a/mms/src/main/resources/application.yml +++ b/mms/src/main/resources/application.yml @@ -7,6 +7,8 @@ spring: name: MMS profiles: active: dev + mvc: + static-path-pattern: /static/** mybatis-plus: mapper-locations: classpath*:/mapper/**/*.xml type-aliases-package: com.pannk.mms.modules.*.entity -- GitLab