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

  • 相关阅读:
    linux常用命令
    mysql 开发基础系列20 事务控制和锁定语句(上)
    sql server 性能调优之 资源等待 CXPACKET
    mysql 开发基础系列19 触发器
    mysql 开发基础系列18 存储过程和函数(下)
    mysql 开发基础系列17 存储过程和函数(上)
    sql server 性能调优之 资源等待PAGEIOLATCH
    mysql 开发基础系列16 视图
    mysql 开发基础系列15 索引的设计和使用
    sql server 性能调优之 当前用户请求分析 (1)
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/6635480.html
Copyright © 2011-2022 走看看