关于较真(暗含Feign的一些小知识点)

       第一次食言了。严格来说也不算是食言,上篇末尾我说“近期如果有空。。。”,但是真是没空呐,做毕设,我可能是有病,毕设用SpringCloud做微服务。

       今天开始写论文,我把我自己这个系统的架构图传到QQ空间了,说不定哪天看见了会觉得挺有意思。结果被一个舍友看到了,这不是重点,重点是他去我空间看啥?估计是暗恋我,哈哈哈。好了,不说了,说重点。我那个舍友说Feign有坑,但是我想来想去,也没想到Feign有什么坑,可能他说的是@RP和@PV和get请求这些吧,我看网上有很多人都认为这是坑,但是我并不认为这些是坑啊,所以现在解释下我的看法。@RP和@PV我感觉可以算是人家的规定,人家就是不支持你不写,就是要求你写,这是人家的规定,应该不能算坑吧,只能说使用起来很麻烦,但是新手用的话,缺失会卡一下。举个栗子:就好比一个刚学java的新手,没给字符串赋值就调用toString方法,结果报空指针异常了,你不能因为java报空指针异常而说java坑啊,人家就是这么规定的,因为人家的东西麻烦了点儿就说人家坑,我感觉不太合理。还有一个是get请求。网上很多人一知半解就在那解答,我看完哈哈一笑,留下句“煞 笔”。人家Http1.1协议只是不建议在get请求中添加请求体,并没有禁止(在这里埋个伏笔),什么意思呢?也就是说,如果你使用的服务严格遵守官方规定,连建议都当金科玉律听了,那么OK啊,get请求没有请求体。但是如果我只是遵守他官方的规定,对于官方的建议,我没有遵守会是什么样呢?比如Elasticsearch。Elasticsearch的get请求就支持将请求参数放在请求体里,你能说Elasticsearch是个垃圾的设计?回到Feign,为什么用GET请求发送一个对象会失败?因为Feign默认使用的是Java的URLConnection(或者是HttpURLConnection,忘记了),这个是不支持get请求中添加请求体的,所以会失败,怎么办呢?使用OKHttp?也不行,它也不支持,那使用什么?肯定是使用ApacheHTTPClient啊。Apache的HTTPClient支持在get请求中添加请求体的,所以只要加入ApacheHttpClient的依赖就可以在Feign中使用GET请求了。所以,我也不认为是坑,再说了,不是还有Map吗?而且Map还通用。再不行就每个参数挨个写,再不行就用POST请求。但是你不能因为你不知道就说人家这是坑。

       说下上面说的伏笔,一直以来我都是一个较真的人,比如我跟你关系不怎么样的前提下(关系好的就没这些逼事了),你还恬不知耻的让我帮你把杯子拿回宿舍,恰巧你的杯子如果杯盖没有盖上的话,我只会把杯子给你,杯盖?那我可不管,因为你只说拿杯子,杯盖我可不管。

       我会经常有疑问:“老师说建议我们的XXX最好怎么怎么做,但是如果我就不那么写呢?”

       很多人(以下用BC代替这些人)都跟我说:“肯定不行啊,老师让怎么怎么做,你不按他说的来肯定不行啊”。

       其实从认识上来说,错的是BC,为什么这么说?因为老师说的是“建议我们最好XXX做”,也就是说我们可以那么做也可以不那么做,因为他是建议,而不是要求。那些BC理解成必须那么做,说明他们对老师的话认识不足,是那些BC理解错了,而不是我。

       感觉我很奇葩?再来看看“Feign有坑”这个说法。人家只是说不建议给GET请求添加请求体,人家可没有禁止啊,有些BC(这里的BC不是上面的BC,毕竟事情都不一样了,但是这群人智商还TM是一样的)就认为GET请求不能有请求体,excuse me?就你这理解水平,你中文是自学的吧?怪不得看不懂中文文档。或者你英文是八十年没出过大山的老汉教的?怪不得说英文有29个字母。通过这个例子,看出来了吧?较真并不是一点儿用都没有,相反,很有用。首先,我没有因为我是个较真的人就活不下去。第二,我没看出不较真有什么好处,如果你认为跟那些BC一起不较真活的很滋润的话,那么你赢了,因为这样看,不较真确实很有意思,还能交到一群趣(zhi)味(shang)相(xiang)投(tong)的BC朋友,并且还能顺便一起攻击那些较真的人:“是是是,你说的都对”。

       是不是感觉我已经在骂人了?对,我确实已经再骂了,如果你还没感觉出来我在骂人,而只是感觉我只是有些激动,那么你跟那些BC的趣(zhi)味(shang)是相同的。继续看吧,快完了。

       其实我是一个对自己挺没心没肺的人,你即使对我再不好,你需要帮忙我还是会去帮(至于一些BC,不了解我就瞎逼逼的,回炉重造吧),就算是咱俩有什么过节,我也会帮你。而且我其实是有点儿“傻”的,为什么说傻?我曾经想过这么两个问题,第一个:如果我的一个独生子女的好哥们(注意,是好哥们,关系一般或者不咋样的你就滚吧)哪天出车祸死了,我会怎么办?我认真想了下,我得出的结论是我十有八九会给他爹妈养老。第二个:我实习的时候看到过车祸,当然只是撞了,双方人都是没事的,我就想,如果哪天一个穿裙子的女的被车撞死了,下体裸露,或者一个裸体的女的跳楼死了,而我恰巧看到了,我会怎么做?我想了下,我觉得我会把衣服脱下来给她遮上。说白了我就是那种善良(我的善良不是对所有人的,你值得我对你善良我自然对你善良),而且善良起来近乎“傻”的(我不认为是傻,者之所以用傻这个字眼,是为了照顾那些BC,要不然他们看不懂)。但是:

       就在写这篇blog的时候,我想通了一件事。我NIMA为什么要这样?我记得实习的时候,一个小伙伴跟我说,你应该学会拒绝啊,不能他提什么需求你就改成什么实现啊。虽然他当时是开玩笑说的,但是现在想想,真TM对。我得学会拒绝,换个直接的说法:我应该学会怼人。

(前面说的BC是白痴的缩写,你愿理解成bitch也行,查不了多少,不过最好是stupid bitch,因为他们的脑子转的真的很慢)

扫描二维码关注公众号,回复: 1644464 查看本文章

猜你喜欢

转载自blog.csdn.net/shi_chang_zhi/article/details/80314965