API加密框架Monkey-Api-Encrypt發佈1.2版本

框架介紹

monkey-api-encrypt 是我之前寫的一個 API 加密的框架,主要是將加密/解密的邏輯交給框架實現,等數據到達 Controller 後自動解密了,讓開發人員不需要關注數據的加解密操作。

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


目前,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==[2]

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>

參考資料

[1]

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

關於作者:尹吉歡,簡單的技術愛好者,《Spring Cloud 微服務-全棧技術與案例解析》, 《Spring Cloud 微服務 入門 實戰與進階》作者, 公衆號 猿天地 發起人。個人微信 jihuan900, 歡迎勾搭。

相關推薦

後臺回覆 學習資料 領取學習視頻

如有收穫,點個在看,誠摯感謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章