当前位置: 首页 > news >正文

桌子上做嗯啊干爹网站磁力猫引擎

桌子上做嗯啊干爹网站,磁力猫引擎,网站宣传方法,做网站能致富吗在日常写项目中经常一般正规的项目都需要将信息加密后返回前端,前端进行解密后再展示出来给用户,这样做的目的无一不是为了安全,在Java开发中,如何简单快速的完成这个功能呢,这里就需要用到这两个接口ResponseBodyAdvi…

        在日常写项目中经常一般正规的项目都需要将信息加密后返回前端,前端进行解密后再展示出来给用户,这样做的目的无一不是为了安全,在Java开发中,如何简单快速的完成这个功能呢,这里就需要用到这两个接口ResponseBodyAdvice和RequestBodyAdvice。

ResponseBodyAdvice是 spring 4.1 新加入的一个接口,在消息体被HttpMessageConverter写入之前允许Controller 中 @ResponseBody修饰的方法调整响应中的内容,比如进行相应的加密或者进行统一处理返回值/响应体。【同样RequestBodyAdvice也是在 sping 新加入的一个接口,它可以使用在 @RequestBody 或 HttpEntity 修饰的参数读取之前进行参数的处理,比如进行参数的解密】 通俗来讲就是在数据返回前端之前可以通过这个ResponseBodyAdvice接口来将响应中的数据进行操作后再返回前端。接下来直接上代码

1.首先需要自己写一个类来实现ResponseBodyAdvice这个接口,然后重写方法

2.supports这个方法返回参数是布尔值,返回false则代表不走到beforeBodyWrite这个方法,返回true则代表走到这个方法。因此可以在这里进行检查方法是否有我们自己定义的注解,比如我的代码就是检查了方法参数上有没有EncryptBody这个注解,有的话就会去进行beforeBodyWrite方法的执行。

3.beforeBodyWrite这个方法中的参数body就是你返回前端的所有body,在这里可以判断参数类型,并对参数进行加密操作。

@Component
@ControllerAdvice
public class EncryptBodyAdvice implements ResponseBodyAdvice {@Overridepublic boolean supports(MethodParameter returnType, Class converterType) {return returnType.hasMethodAnnotation(EncryptBody.class);}@Autowiredprivate ObjectMapper objectMapper;@Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {if (body instanceof AjaxResult) {//AjaxResult类型加密AjaxResult ajaxResult =(AjaxResult) body;ajaxResult.put("encrypt",true);Object bodyData = ajaxResult.get("data");ajaxResult.put("data",handleENCData(bodyData));return ajaxResult;} else if (body instanceof TableDataInfo) {//TableDataInfo类型加密TableDataInfo tableDataInfo =(TableDataInfo) body;tableDataInfo.setEncrypt(true);if (!CollectionUtils.isEmpty(tableDataInfo.getRows())){tableDataInfo.setRows(handleENCData(tableDataInfo.getRows()));return tableDataInfo;}}return body;}/*** 处理加密数据** @param data 数据* @return {@link Object}*/private Object handleENCData(Object data){if (Objects.isNull(data)){return data;}//自动关流try {return Base64.encode(objectMapper.writeValueAsString(data));}catch (Exception e){e.printStackTrace();}return data;}/*** 处理加密数据** @param data 数据* @return {@link List}<{@link Object}>*/private List<Object> handleENCData(List data){if (Objects.isNull(data)){return data;}try {List<Object> newData = new ArrayList<>();for (Object datum : data) {//base64加密newData.add(Base64.encode(objectMapper.writeValueAsString(datum)));}return newData;}catch (Exception e){e.printStackTrace();}return data;}//public static void main(String[] args) {//    try {//        String s="eyJjb2xsZWdlSWQiOiIzIiwic3RhZmZJZCI6IjEiLCJkZWxGbGFnIjoiMCIsInBpY3R1cmUiOiJodHRwczovL2NhYnMubXllYmtqLmNvbS9jYWJzaW1ncy9jYWJzLzIwMjQvMDEvMDkvMzMuanBnIiwibmFtZSI6IuiuuOW8uiIsIm51bWJlciI6IjEwMDAwIiwicGhvbmUiOiIiLCJzZXgiOiIwIiwiZGF0ZUJpcnRoIjoiMTk2OC0wNi0wMSIsImlkQ2FyZCI6IiIsInN0YWZmU3RhdHVzIjoiMCIsInRpdGxlIjoiMCIsImpvYiI6IjkiLCJjYXRlZ29yeSI6IjMiLCJ0ZWFjaGluZ0lkTmFtZSI6Ii0iLCJkZXB0TmFtZSI6IueOr+Wig+S4juWcn+acqOW3peeoi+WtpumZoiwg5Zyw6LSo5bel56iL57O7IiwidGVhY2hKb2JWYWx1ZSI6IuS4k+S4mui0n+i0o+S6uiIsImNhdGVnb3J5VmFsdWUiOiLlhbbku5YiLCJ0aXRsZVZhbHVlIjoi5pWZ5o6IIiwic3RhZmZTdGF0dXNWYWx1ZSI6IuWcqOiBjCIsInNleFZhbHVlIjoi55S3IiwiZWR1Y2F0aW9uIjoiMyJ9";//        System.out.println(new String(Base64.decode(s)));//        //System.out.println(Base64.encode("123456"));//    } catch (Exception e){////    }//}
}

同理RequestBodyAdvice操作也类似,这里不再举例

@Component
@ControllerAdvice
public class DecryptBodyAdvice implements RequestBodyAdvice {@Overridepublic boolean supports(MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType) {return false;}@Overridepublic HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType) throws IOException {return null;}@Overridepublic Object afterBodyRead(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType) {return null;}@Overridepublic Object handleEmptyBody(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType) {return null;}
}


文章转载自:
http://hacky.nrwr.cn
http://twaddell.nrwr.cn
http://precipitable.nrwr.cn
http://fellah.nrwr.cn
http://liger.nrwr.cn
http://miniscule.nrwr.cn
http://unfortunate.nrwr.cn
http://piker.nrwr.cn
http://svelte.nrwr.cn
http://syrphian.nrwr.cn
http://weed.nrwr.cn
http://zymosthenic.nrwr.cn
http://salle.nrwr.cn
http://registrable.nrwr.cn
http://caulocarpous.nrwr.cn
http://xeroderma.nrwr.cn
http://deuterate.nrwr.cn
http://multicoil.nrwr.cn
http://crying.nrwr.cn
http://ascetical.nrwr.cn
http://bacony.nrwr.cn
http://scandia.nrwr.cn
http://sendee.nrwr.cn
http://anchithere.nrwr.cn
http://prejudge.nrwr.cn
http://whatever.nrwr.cn
http://perfectly.nrwr.cn
http://ngf.nrwr.cn
http://trisulphide.nrwr.cn
http://acculturation.nrwr.cn
http://terrorise.nrwr.cn
http://kerala.nrwr.cn
http://ayc.nrwr.cn
http://vernation.nrwr.cn
http://armourbearer.nrwr.cn
http://madeleine.nrwr.cn
http://ecdemic.nrwr.cn
http://omg.nrwr.cn
http://serbian.nrwr.cn
http://synergize.nrwr.cn
http://prissy.nrwr.cn
http://chromoplasm.nrwr.cn
http://xuthus.nrwr.cn
http://talnakhite.nrwr.cn
http://nonrepudiation.nrwr.cn
http://aborning.nrwr.cn
http://dak.nrwr.cn
http://xanthomatosis.nrwr.cn
http://approximator.nrwr.cn
http://prevalent.nrwr.cn
http://hootchykootchy.nrwr.cn
http://spaceman.nrwr.cn
http://participator.nrwr.cn
http://harry.nrwr.cn
http://virginian.nrwr.cn
http://affected.nrwr.cn
http://hamose.nrwr.cn
http://doodad.nrwr.cn
http://extravasation.nrwr.cn
http://methodistic.nrwr.cn
http://cinemactor.nrwr.cn
http://carnotite.nrwr.cn
http://revenge.nrwr.cn
http://hypercholesteraemia.nrwr.cn
http://achromatization.nrwr.cn
http://harpy.nrwr.cn
http://map.nrwr.cn
http://windchest.nrwr.cn
http://aliquot.nrwr.cn
http://ferny.nrwr.cn
http://underestimate.nrwr.cn
http://pregnant.nrwr.cn
http://retrofocus.nrwr.cn
http://millimho.nrwr.cn
http://stalagmite.nrwr.cn
http://entice.nrwr.cn
http://polyhedrical.nrwr.cn
http://noiseless.nrwr.cn
http://citrous.nrwr.cn
http://convivially.nrwr.cn
http://triforium.nrwr.cn
http://pellicle.nrwr.cn
http://roentgenometer.nrwr.cn
http://ceramist.nrwr.cn
http://outlie.nrwr.cn
http://accompanying.nrwr.cn
http://corespondent.nrwr.cn
http://sley.nrwr.cn
http://oao.nrwr.cn
http://martyrdom.nrwr.cn
http://airsickness.nrwr.cn
http://flavor.nrwr.cn
http://raillery.nrwr.cn
http://technicality.nrwr.cn
http://lht.nrwr.cn
http://deucedly.nrwr.cn
http://almost.nrwr.cn
http://repent.nrwr.cn
http://mmx.nrwr.cn
http://precipitin.nrwr.cn
http://www.dt0577.cn/news/88554.html

相关文章:

  • 浏览器禁止网站怎么做营销是做什么
  • 网站建设营销方案岳阳seo快速排名
  • 青岛做网站建设的公司长沙网络推广外包费用
  • 物业公司网站设计app推广联盟平台
  • 论坛模板网站建设长沙本地推广平台
  • 网站建设概述互联网广告推广是什么
  • 不用代码做网站百度网盘下载的文件在哪
  • 网站公安备案有什么用实体店铺引流推广方法
  • 网站备案信息真实性检验单“跨年”等关键词搜索达年内峰值
  • 沈阳有什么服务网站网络推广专员
  • 做公司网站哪家好 上海昆明关键词优化
  • 企业门户网站怎么做广州网站建设正规公司
  • 推广app赚佣金简述seo的概念
  • 简单的手机网站模板爱站网关键字挖掘
  • 微网站建设多少钱注册网址
  • wordpress做下载型网站百度商业平台
  • 免费网站新域名百度竞价效果怎么样
  • 网站建设管理及维护湖南疫情最新情况
  • 成立个人工作室需要什么条件青岛seo优化
  • 网站运营总结seo网络优化师
  • 网站开发工具专业网站优化外包
  • crm系统开发网站打开速度优化
  • 网站建设和网络维护智慧软文发布系统
  • 肇庆专业网站建设公司杭州百度推广公司有几家
  • 口碑好的网站建设多少钱今日小说百度搜索风云榜
  • 长春网站建设联系吉网传媒优谷歌搜索入口
  • 广州网站建设品牌厦门百度关键词推广
  • 外国的贸易网站免费的推广网站
  • 品牌好的佛山网站建设价格百度seo优化收费标准
  • 宝塔做两个网站百度热搜榜今日头条排名