测试代码
1.把定义的2个类加入到spring中
- package com.caigaoqinng.tech.config;
-
- import com.caigaoqing.tech.common.support.RequestBodyWrapFactoryBean;
- import com.caigaoqing.tech.common.support.ResponseBodyWrapFactoryBean;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
-
- /**
- * Created by Administrator on 2018/8/17.
- */
- @Configuration
- public class OpenApiRegisterBean {
-
- /**
- * @Author 蔡高情
- * @Description响应数据加密
- * @Date 13:48 2018/7/25 0025
- * @Param
- * @return
- **/
- @Bean
- public ResponseBodyWrapFactoryBean getResponseBodyWrap() {
- return new ResponseBodyWrapFactoryBean();
- }
- /**
- * @Author 蔡高情
- * @Description 接收数据解密
- * @Date 13:49 2018/7/25 0025
- * @Param []
- * @return
- **/
- @Bean
- public RequestBodyWrapFactoryBean getRequestBodyWrap() {
- return new RequestBodyWrapFactoryBean();
- }
-
- }
常规项目配置xml <bean id=xxx class=xxx/>
2.填写测试类(web)
- package com.caigaoqinng.tech.rest;
-
- import com.caigaoqing.tech.common.annotation.RequestBodyDecrypt;
- import com.caigaoqing.tech.common.annotation.ResponseBodyEncrypt;
-
- import com.caigaoqing.tech.common.entity.MapWrapper;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- import java.util.Map;
-
-
- /**
- * Created by Administrator on 2018/8/17.
- */
- @Slf4j
- @RestController
- @RequestMapping("/api/")
- public class Test {
- /**
- * 测试传递 不可以接受get,只能接受post参数 所有get参数用原来的进行解析 get参数不加密传输
- * @return
- */
- @ResponseBodyEncrypt()
- @PostMapping("test")
- public String getMap(String age,@RequestBodyDecrypt String userName){
- log.info(userName);
- return userName;
- }
-
- /**
- * 测试传递 不可以接受get,只能接受post参数 所有get参数用原来的进行解析 get参数不加密传输
- * @return
- */
- @ResponseBodyEncrypt()
- @PostMapping("testMap")
- public Map getMap(@RequestBodyDecrypt MapWrapper userName){
- log.info(userName.toString());
- return userName.toMap();
- }
-
- }
3加密测试
- package com.caigaoqinng.tech;
-
- import com.alibaba.fastjson.JSON;
- import com.caigaoqing.tech.util.encrypt.AesCBC;
-
- import java.util.HashMap;
- import java.util.Map;
-
- /**
- * Created by Administrator on 2018/8/17.
- */
- public class Test {
- public static void main(String[] args) throws Exception{
- String data= AesCBC.encrypt("123","1234567812345678","1234567812345678");
- Map map =new HashMap<>();
- map.put("name","caigaoqing");
- map.put("age",21);
- String dataStr=JSON.toJSON(map).toString();
- String data1= AesCBC.encrypt(dataStr,"1234567812345678","1234567812345678");
-
- System.out.println("要请求的数据1 "+data);
- System.out.println("要请求的数据2 "+data1);
-
- String result=AesCBC.decrypt(data,"1234567812345678","1234567812345678");
- String result1=AesCBC.decrypt(data1,"1234567812345678","1234567812345678");
- System.out.println("应该返回的数据1 "+result);
-
- System.out.println("应该返回的数据2 "+result1);
- }
- }
4.postman测试发送加密数据,返回加密数据
5.结果
著作权归作者所有,转载请标志作者。2018/08/17
上面应该是接受参数 解密的
代码应该没有问题的,具体查看码云:
https://gitee.com/CaiGaoQing/open-api-demo