SpringMvc扩展自定义注解实现web加密解密 (4)----测试工程

                                               测试代码

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值