# APIShield **Repository Path**: liupeiqiang/APIShield ## Basic Information - **Project Name**: APIShield - **Description**: 🔥 一款提供 WebAPI 接口通信过程中的安全策略选型方案的轻量级 JAVA 框架,多种策略整合,均提供前后端一整套解决方案,开箱即用! - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2022-12-16 - **Last Updated**: 2023-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: web应用开发, Java, Web开发框架 ## README

logo

APIShield v0.0.1-rc.1

一个解决 WebAPI 在应用层面通讯安全相关问题的轻量级 JAVA 框架,让请求响应数据变得安全、优雅!

star fork

--- ## 前言: - 注:学习测试请拉取 master 分支,dev 为正在开发的分支,有很多特性并不稳定。 - 开源不易,点个 star 鼓励一下吧! ## APIShield 介绍 APIShield (又名:API盾) 是一款集成各种 WebAPI 安全策略方案的轻量级 JAVA 框架,免于在设计复杂的系统中因 WebAPI 的安全问题而焦头烂额。并且它还提供了一整套前后端 WebAPI 响应或请求的解决方案,只需要简单配置您即可信手拈来。 APIShield 旨在以简单、优雅的方式完成系统接口安全校验或加解密部分,以最常用的MD5摘要签名校验为例,您只需要将注解放在对应方法或类上即可使用。 下面是一个最基本的示例: ```java // SpringBoot 示例 @RestController @RequestMapping("/api") @ApiShieldUserAgent(value = {UA.DEV_WECHAT}, forbids = {UA.DEV_MOBILE}) public class ApiController { @GetMapping("/queryStu") @ApiShieldCheckTimestamp @ApiShieldDigestSignature public String queryStudent(Student stu){ return "success"; } } ``` ```bash # 微信PC端请求接口-QueryString携带Sign 成功示例 > curl http://127.0.0.1/api/queryStu?name=张三&age=18&apishield-ts=1670945512652&apishield-sign=99d35676c36acac696f0a424dcf34ca1 success ```