zoukankan      html  css  js  c++  java
  • 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()包裹起来

  • 相关阅读:
    dfssvc.exe
    我左边的公告
    再做了一个LOGO
    做一个调查,请大家帮忙
    如果年三十没有人陪我
    我喜欢这个模版
    cisvc.exe是什么服务
    IIS与SQL服务器安全加固
    终于申请到了blogs
    重发LOGO
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/6635480.html
Copyright © 2011-2022 走看看