今天是2015年的最后一天,想想自己14号进来,两个星期好想都在闲逛,带我的@刘俊杰 好像都没有任务给我,然后就不知道干什么就一天了,他叫我继续看api的东西,我基本上全都看完了,大概有个了解,做个demo的也是可以的。他好像不怎么急,我也不想催他,免得他觉得我太过仓促,觉得我对事情不负责这样的。我就继续深究api的东西,昨天看了很久,也明白了很多东西。
公司的api接口是整个系统的所有api调用的接口,公司业务也是很复杂的。PS:怎么博客园插入图片不行的呀,不会插,请博客园的大神教教。
用debug来调试对应的junit的测试方法,然后发现有些地方不知道怎么走。首先是httpclient的模拟客户端发送请求,是发送到哪里的呢,之前没有用过,所以就百度了一下,是发送到对应的url,而发送的地址是a,过了一会是b.原来进行业务操作的时候,是要用户登录验证的,首先要调到验证的url然后返回对应的json数据,通过对应的Token来验证用户是否登录成功,现在我还不清楚token是用来干嘛的,之前在看慕课的微信开发的时候看到过,我也没有实践,不是很清楚了。这个验证应该是网页版的和微信公众号是调用同一个接口,然后就到了restController。
核心代码:
1 | /** |
REST
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。
理解
一开始不知道rest是什么,然后就百度了一下,就有了这串东西,然后就有了大概。用户的请求都会经过这个restController,然后就有了一个问题,为什么会到这个Controller不到其他了呢,应该有个xml来配置,还没有找。公司里的xml很多,内容也是够多的,每次看xml的时候很多时候就会蒙掉,因为都用了狠多业务的拼音还有一些不知道什么的东西,这些东西要自己摸索,我也没问是俊杰。至今我也是了解了不少了。
用户进行业务操作会有两个请求这个是必须的。然后里面涉及到的细节问题,我也百度查了下,代码如下:1
2
3
4private static Pattern uriPattern = Pattern.compile("/api/([\\w\\/]+)");
Matcher matcher = uriPattern.matcher(request.getRequestURI());//使用了正则表达式获得相关字符串
apis.put("sap/fpxx/cgfp", (API) ContextInit.getContext().getBean("ftsp_api_sap_cgfpAPI")); @Component(value = "ftsp_api_sap_djxx_jsfsAPI")// spring的装配功能,对应的组件申明value,来作为beanID
List<NameValuePair> nvps = new ArrayList<NameValuePair>();//声明键值 来用来传参数 使用httppost的时候
MD5
以前也看过一些加解密技术,也只是有个了解而已,没有深入的了解,深入的研究。
引用:MD5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源 程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原 理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。所以,要遇到了md5密码的问题,比较好的办法是:你可以用这个系统中的md5()函数重新设一个密码,如admin,把生成的一串密码的Hash值覆盖原来的Hash值就行了。
MD5是消息摘要算法,数字签名,易懂来说就是每个人的指纹了。一旦对一样东西使用了MD5,就是你按了指纹,没有你的指纹没人能动你的东西。现实生活中,可以模拟人的指纹去干一些不好的事,类似的MD5也不会例外,就好像一开始指纹作为安全的保障,然后现在指纹也变得不安全了,因此MD5也是在劫难逃的。我在想,除了跑字典,还有更好的方式来破解MD5吗?暂时还没有想到,想到我就不是一般人,哈哈。
总结
感觉个人学计算机的东西很多,然后很多都有去涉猎了一下,大概有个了解,而并没有对一样自己喜欢东西去研究,去发展,现在做的java也不是我很想要的,觉得自己就是被生活逼迫到要学一样东西去找工作,而不是因为自己喜欢来学。我比较喜欢安全这方面的东西,安全涉及的东西真的很多,以前想学一些黑客的东西,然后就没了,后面到了游戏外挂,然后也没了然后了,总结了一点,计算机网络一定要学好。哈哈,想着自己计算机网络也是刚好60分。