时隔10多天,monkey-api-encrypt发布了第二个版本,还是要感谢一些正在使用的朋友们,提出了一些问题。
GitHub主页:https://github.com/yinjihuan/monkey-api-encrypt
本次更新内容如下:
支持Spring Boot配置
支持注解开启加解密(Spring Boot中)
增加Spring MVC示例
启动类加@EnableEncrypt注解,开启加解密自动配置,省略了手动注册Filter的步骤
配置文件中配置加密的信息,也就是EncryptionConfig
如果感觉配置比较繁琐,你的加解密接口很多,需要大量的配置,还可以采用另一种方式来标识加解密,就是注解的方式。
响应的数据需要加密,就在接口的方法上加@Encrypt注解
接收的数据需要解密,就在接口的方法上加@Decrypt注解
同时需要加解密那么两个注解都加上即可
Spring MVC中可以直接在web.xml中注册Filter,不方便传递的是配置的参数,我们可以配置一个自定的过滤器,然后在这个过滤器中配置EncryptionFilter
web.xml
如果需要使用注解的话需要在spring的xml中配置ApiEncryptDataInit
要么使用手动注册Filter的方式开启加解密功能,手动构造EncryptionConfig传入EncryptionFilter中,要么使用@EnableEncrypt开启加解密功能。
@EnableEncrypt+配置文件可以在Spring Boot,Spring Cloud Zuul中使用
@EnableEncrypt+@Encrypt+@Decrypt可以在Spring Boot,Spring MVC中使用
当存在两个相同的URI时,比如GET请求的/user和POST的请求/user。如果只想对其中某一个进行处理,我们的逻辑的是按照URI进行匹配,这样就会影响到另一个,原因是URI是一样的。
如果是使用@Encrypt+@Decrypt的方式,框架会自动处理,会为每一个URI加上前缀来区分不同的请求方式。同时提供了扩展的属性值,在@Encrypt+@Decrypt中都有value属性,可以手动配置uri。因为某些框架不是用的Spring MVC的注解,比如CXF,框架无法做到适配所有的注解,这个时候可以用uri属性来配置。
配置格式为:请求类型+访问的URI
包括在配置文件中也可以采用前缀的方式来区分相同的URI。