1. 程式人生 > >Springboot 學習筆記 之 Day 5 如何加密,以及用Swagger2構建Restful API

Springboot 學習筆記 之 Day 5 如何加密,以及用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()包裹起來