一个RESTful API引发的惨案
老板:今天对接一个API,这是文档,午饭前做好!
Java程序员: 这么复杂的response!嵌套了这么多层,#$@!#@, 又要写该死的bean了!还让不让人吃午饭了!
Golang程序员: 这么复杂的response!嵌套了这么多层,#$@!#@, 又要写该死的struct了!还让不让人吃午饭了!
Python程序员: 哼哼,还是我们灵活,人生苦短,我用python!(午饭桌上被老板揪回来)
唉唉, 领导说我们代码风格不统一,要求统一写class, 真是哔了X!
码农们: 谁来解放码农的生产力, 拯救码农的青春呢?
要是有办法直接将json转成代码就好啦!
神秘女郎 声音:
- 你想要一键生成bean吗?
- 你想要一键生成struct吗?
- 你想要一键生成class吗?
对, 没错,下面这款vs-code插件满足你一切的需求和幻想!
有请 Paste JSON as Code登场!
1. 安装
打开vscode -> Extensions, 请优雅的输入"Paste JSON as Code", 点击install, 数秒后点击reload!
2. 使用
- 打开你想要保存bean/struct/class 的文件。
- 将你需要转换的json贴入
- ctrl+shift+p,键入"Paste JSON as Code",回车
- 输入你想要的struct/class 名,然后回车
- (optional) 如果你已经设置了文件扩展名,他会自动识别你想要转换的代码。否则需要选择语言
奇迹出现啦!
瞬间,一行行规规整整, 完完全全,漂漂亮亮的代码就生成好了!
Golang程序员:符合规范的的属性名,正确恰当的数据类型,reference json字段名也填充好了!
Java程序员: get/set方法也写好了!
Python程序员: 原来python可以写的。。。如此感性(颠倒)!
So easy!
(作为一名golang程序员,看到这一幕已经泪流满面!)
下面是golang/java/python的动画演示:
例子:
{
"shardNum":6,
"message":"client is up to date, Cheers!",
"shardInfo":"127.0.0.1:6402 127.0.0.1:6391 127.0.0.1:6391 127.0.0.1:6391 127.0.0.1:6391 127.0.0.1:6403",
"status":1,
"appId":10037
}
Golang版:
Java版:
Python版:
好吧, 简单的json轻松搞定,那么稍微复杂点多点嵌套的json处理效果怎么样呢?
来,再一次见证奇迹吧!
例子:
{
"code": 200,
"result":{
"userid": 123,
"product_id": 10011,
"description": "what is this?"
},
"msg": "success"
}
Golang版:
Java版:
(注, Java生成的代码会有多个pulic class, 需要手动调整下文件结构)
Python版:
贴不上去了!囧!
3. 后记
XX程序员:老板,API接好啦,您过目!
老板:才10分钟就搞定了?效率提升这么高!
XX程序员: 自从有了“Paste JSON as Code”, 吃饭也香了,睡眠也充足了,还有时间谈恋爱了!
老板:回去大力推广!
XX程序员: 配合macbook pro更好哦, 老板这是链接https\www.gd.com\macbookpro