admin
2020-11-09 18f9c27e17a4bef2f1d6571bf113b9bb741046af
添加接口生成工具Swagger
4个文件已修改
2个文件已添加
161 ■■■■■ 已修改文件
consumer-jdGiftCoupon/pom.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/config/Swagger2Config.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/config/WebSecurityConfig.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/controller/TestController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/query/TestQuery.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consumer-jdGiftCoupon/pom.xml
@@ -36,6 +36,21 @@
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
    </dependencies>
    <build>
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/config/Swagger2Config.java
New file
@@ -0,0 +1,34 @@
package com.ks.consumerjdgiftcoupon.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.ks.consumerjdgiftcoupon.controller"))
                .paths(PathSelectors.any())
                .build().apiInfo(new ApiInfoBuilder()
                        //网站描述
                        .description("接口文档的描述信息")
                        .title("微人事项目接口文档")
                        //联系人信息
                        .contact(new Contact("yolo", "blog.csdn.net", "xxxx@gmail.com"))
                        //版本
                        .version("v1.0")
                        .license("Apache2.0")
                        .build());
    }
}
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/config/WebSecurityConfig.java
New file
@@ -0,0 +1,89 @@
package com.ks.consumerjdgiftcoupon.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationProvider;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    class CustomUserService implements UserDetailsService {
        @Override
        public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
            //通过名称查询用户
            return null;
        }
    }
    class CustomAuth implements AuthenticationProvider {
        @Override
        public Authentication authenticate(Authentication authentication) throws AuthenticationException {
            authentication.setAuthenticated(true);
            return authentication;
        }
        @Override
        public boolean supports(Class<?> aClass) {
            return true;
        }
    }
    @Bean
    UserDetailsService customUserService() {
        return new CustomUserService();
    }
    @Bean
    AuthenticationProvider customAuth() {
        return new CustomAuth();
    }
    /**
     * 定义用户认证规则
     *
     * @param auth
     * @throws Exception
     */
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(customUserService());
        auth.authenticationProvider(customAuth());
    }
    /**
     * 定义授权规则
     *
     * @param http
     * @throws Exception
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/", "/home").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin()
//                .loginPage("/login")
                .permitAll()
                .and()
                .logout()
                .permitAll();
    }
}
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/controller/TestController.java
@@ -1,6 +1,8 @@
package com.ks.consumerjdgiftcoupon.controller;
import com.ks.consumerjdgiftcoupon.query.TestQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -8,10 +10,11 @@
import javax.validation.Valid;
@Api(tags = "测试数据接口")
@Controller
@RequestMapping("test")
public class TestController {
    @ApiOperation(value = "测试", notes = "测试字段验证")
    @RequestMapping("valid")
    @ResponseBody
    public String valid(@Valid TestQuery query, BindingResult bindingResult) {
consumer-jdGiftCoupon/src/main/java/com/ks/consumerjdgiftcoupon/query/TestQuery.java
@@ -1,9 +1,13 @@
package com.ks.consumerjdgiftcoupon.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
@ApiModel(value = "测试查询",description = "测试查询")
public class TestQuery {
//    @AssertFalse(message = "所注解的元素必须是Boolean类型,且值为false")
@@ -14,24 +18,30 @@
    //   @Future(message = "日期是否在当前时间之后")
    @ApiModelProperty(value = "昵称")
    @NotEmpty(message = "注册失败,名字不能为空")
    private String name;
    @ApiModelProperty(value = "年龄")
    @Max(value = 19, message = "该字段最大值为19")
    @Min(value = 0, message = "该字段最小值为0")
    private int age;
    @ApiModelProperty(value = "身高")
    @DecimalMax(value = "3.00", message = "所注解的元素必须是数字,且值小于等于给定的值")
    @DecimalMin(value = "0.00", message = "所注解的元素必须是数字,且值大于等于给定的值")
    private BigDecimal height;
    @ApiModelProperty(value = "出生日期")
    @Past(message = "出生日期不能大于当前日期")
    private Date birthday;
    @ApiModelProperty(value = "邮箱")
    @Email(message = "邮件格式有误")
    private String email;//邮件
    @ApiModelProperty(value = "签名")
    @Pattern(regexp = "[abc]", message = "正则不匹配")
    private String sign;
pom.xml
@@ -35,6 +35,12 @@
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--安全框架 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
@@ -46,6 +52,8 @@
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>