美文网首页
API加密框架monkey-api-encrypt发布1.2版本

API加密框架monkey-api-encrypt发布1.2版本

作者: 猿天地 | 来源:发表于2020-04-24 13:03 被阅读0次

    框架介绍

    monkey-api-encrypt 是我之前写的一个API加密的框架,主要是将加密/解密的逻辑交给框架实现,等数据到达Controller后自动解密了,让开发人员不需要关注数据的加解密操作。

    Github:https://github.com/yinjihuan/monkey-api-encrypt

    目前,502个关注,今天能到520么?

    新功能介绍

    Bug修复

    当项目的context-path配置为/的时候,之前处理的不好,会增加一个/。然后就导致去判断加解密uri的时候出现两个//。

    GET请求参数解密支持

    在1.2之前的版本只支持Post请求体数据的解密操作,也就是说加密的数据必须在请求体里面才能被正常解密,如下:

    @Decrypt
    @PostMapping("/save")
    public UserDto save(@RequestBody UserDto dto) {
        System.err.println(dto.getId() + "\t" + dto.getName());
        return dto;
    }
    

    客户端提交的数据是加密的内容,到达接口层后UserDto已经是自动解密好了的数据。

    1.2版本支持了Get请求参数的解密,使用方式如下:

    请求地址:/encryptStr?name=FrAOkAnRWydU/LX7xNEm9w==

    name是加密的内容,在接口层接收的需要是解密后的内容,接口定义如下:

    @Decrypt(decyptParam = "name")
    @GetMapping("/encryptStr")
    public String encryptStr(String name) {
        System.out.println(name);
        return "加密字符串";
    }
    

    通过@Decrypt注解表示该接口需要解密操作,decyptParam指定要解密的参数名,多个英文逗号分隔。

    如果不用注解还可以使用配置的方式,如下:

    spring.encrypt.requestDecyptParam.get$/encryptStr=name
    

    格式为 请求方式 + $ + URI

    比如:get$/encryptStr

    日常优化

    这次将项目结构优化了下,之前是单独的三个项目,包括两个示列项目。不方便导入IDEA中。这次调整后最外层增加了父pom,方便导入。

    老结构:

    新结构:

    发布到Maven中央仓库

    1.2版本之前为了发布方便,直接用的jitpack仓库。很多用户在使用的时候也不看文档,直接依赖然后就来问我为什么jar包下载不下来。

    这次干脆还是发布到Maven中央仓库得了,方便使用。

    依赖配置:

    <dependency>   
       <groupId>com.cxytiandi</groupId>
       <artifactId>monkey-api-encrypt-core</artifactId>
       <version>1.2.RELEASE</version>
    </dependency>
    

    关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud微服务-全栈技术与案例解析》, 《Spring Cloud微服务 入门 实战与进阶》作者, 公众号 猿天地 发起人。

    相关文章

      网友评论

          本文标题:API加密框架monkey-api-encrypt发布1.2版本

          本文链接:https://www.haomeiwen.com/subject/oitfwhtx.html