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()包裹起來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM