Springboot 如何加密,以及利用Swagger2构建Restful API

 

先看一下使用Swagger2构建Restful API效果图

 

 

 

超级简单的,只需要在pom 中引用如下jar包

 

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>

  

 

在和startapp的同级目录下,新建一个Swagger2类

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo1.Controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2构建RESTful APIs")
                .description("更多Spring Boot相关文章请关注:https://home.cnblogs.com/u/qianjinyan/")
                .termsOfServiceUrl("https://github.com/JasmineQian/")
                .contact("夏天里的Jasmine")
                .version("1.0")
                .build();
    }
}

  注意 

apis(RequestHandlerSelectors.basePackage后面指定你自己的controller包路径

最终项目部署成功后,在url localhost:port/swagger-ui.html中打开即可
http://10.201.10.53:9999/swagger-ui.html

当然,使用过程中有一些注意点,要不然会执行不成功,此处只做入门,不深究。


密码,比如数据库代码加密的问题,也是引入jar
    <!-- 数据库加密 -->
    <dependency>
        <groupId>com.github.ulisesbocchio</groupId>
        <artifactId>jasypt-spring-boot-starter</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>

  



之后计算一下
加盐值之后的密码是多少即可

配置文件中盐值如下

jasypt.encryptor.password=jasmine


写一个test方法计算一下

@RunWith(SpringRunner.class)
@SpringBootTest
public class HomeworkApplicationTests {

    @Autowired
    StringEncryptor stringEncryptor;

    @Test
    public void test() {
    String passwd =stringEncryptor.encrypt("123456");
    System.out.println(passwd);

    }

}

  将输出的密码贴到配置文件中,比如我的mysql密码用 spring.datasource.password=ENC(Oiwkfb4mmDNmnk5mpqT2sg==)

高亮部分是加密后得到的密码,格式要用ENC()包裹起来

posted @ 2018-12-25 11:33  巴黎爱工作  阅读(8755)  评论(0编辑  收藏  举报