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()包裹起来
------------------------- A little Progress a day makes you a big success... ----------------------------