我每天重复写这个API,没有一次请求状态码是200

程序人生

Posted by MySelf | 猫叔 on March 19, 2019

本博客 猫叔的博客,转载请申明出处

我是一个普通的比你还普通的代码撰写人员,甚至不敢号称是程序员,我每天起床都接到这样一个任务,我需要去完成一个API,一个普通的API,我可以不用写文档、不用写注释、不用准备思维导图……

我不知道是谁给我下的命令,不知道是这个API是要给谁调用,不知道要服务于什么,这一切都需要我去设想。

我的脑袋经常把这件事情给遗忘,生活与工作的各种事情,即使是刷刷手机讯息都可能会排在这件事情的前面,但是每日醒来我还是会意识到这样的一个任务。

我开始去完成这个模糊的API任务,毕竟很多人都能写出一个漂亮的API。

在我这边完成的过程中,我遇到了第一个难题:我要选择什么语言?

Image

上了www.tiobe.com,查看了世界排行,发现我所比较熟悉的Java暂时还是第一,不过看到各种自己完全不熟悉的语言,还是感觉压力山大。

问了几个比较厉害的朋友,他们也各有说辞,都推荐他们所认可的语言,我像是一滩水,他们就像各种器皿,希望我能进入他们的空间一般。

好吧,为了这个API我选择进入Java这个器皿中。

如果可以的话,或许是我不自量力,我更希望进入一个我真心喜欢的器皿中,GC也好、指针也罢,我需要的就存在,我不需要的请给我隐藏,我看到过一个厉害的人,他就自己创造了一门语言。

接下来,我发现我还需要选择数据存储相关的,厉害的人都叫他们数据库,那些人可以轻易的说出什么是关系型数据库、什么是非关系型数据库,业务逻辑强的时候可以选择MySQL,搜索量大的时候你就加索引,如果有兴趣搭建搜索引擎,你甚至可以使用ElasticSearch;而Mongo DB则适合分布式文件存储,对,还有HBase面向列的存储,他们其中还有一些是开源的,如果你能去贡献一点代码,我想这也足够你吹捧一段时间。

Image

我是一个老实人,我踏踏实实的选择了MySQL,毕竟我的这个API究竟要用在什么业务,我也不清楚。

听说有多数据源,可以根据业务来动态切换数据源,我想这种好东西,还是有人能帮我写好就行了。

我没有什么项目经验,不知道接下来的步骤对不对,希望大家可以不要鄙视我,毕竟现在什么职场都有鄙视链了,我是一个腼腆且自尊心强的人,你说一句我可能会想很久。

我觉得需要去选择一个框架,但是渐渐的,我发现这是一个套路,一个越来越深的套路,我选择了Java、MySQL,那么我需要选择的框架就需要是Java写的快速搭建Web的框架,而且我需要数据映射框架也是对应能接通Java和MySQL的。

我开始有种被绑手绑脚的感觉,Spring、SpringMVC、SpringBoot、SpringCloud、Spring Data JPA、MyBatis、Hibernate等等。

我不情愿的选择了可以让我快速完成这个任务的大众系列:SpringBoot+JPA。

原来jpa其实底层也是Hibernate,难怪有些东西,用起来比较熟悉,我希望接下来没有选择了,可是我还是太大意了。

我不知道我需要继续完成什么了。

我很传统的构建了dao、service、controller等包,并针对这个API构建了对应的类,可是构建这些东西,其实IDEA都帮我做好了,我不知道我要写什么…

我陷入了沉思…一天、两天、一个月、一年…十年…

Image

在经过生活与职场冲刷后,我在某个夜里有梦到了有这样的一件事情没有做完,我立马起身,将桌上的烟灰缸清理了一下,放到一侧,然后重新点了一支双喜,打开IDEA,将十年前放在GitHub上的项目clone下来。

深吸一口烟,“呼········”

我想我想清楚这个API的完整路径了。

 https://life/meaning?who=myself   **GET**

很抱歉,说到这里,本文终了。

我不能和你说我的业务实现写了什么,而那段代码我也没有push到GitHub上,因为我觉得任何一个读者写出来的都将比我珍贵。

再和你说一点秘密,在我完成API请求路径后,我在往后的十年、二十年都在不断的修改业务实现的代码,我甚至加入了MQ、Netty等等。

但是我在梦中却一直请求不成功,从来没有看到一次200。

我可以和你说得再明白一点,所有人的请求结果都是一样的,但是每个人的实现业务都是不一样的,甚至你选择了C、C#、PHP、Python。

但是,结果都是一样的,即使你认为是最完美的代码了。

结果都是…

Just Do it!

Image

这是我临终时最后一次运行代码看到的结果,并成为了我的墓志铭,我是一个普通的代码撰写者,你不需要知道我是谁,我只是作者笔下的虚无幻想,但是请你认清,你是谁!?

公众号:Java猫说

学习交流群:728698035

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。

Image Text