网易首页 > 网易号 > 正文 申请入驻

Forest + IDEA = 双倍快乐! ForestX 隆重登场

0
分享至

Forest是一款声明式的Java开源HTTP框架,相比它的前辈Httpclient和OkHttp更简明易懂、也更容易维护。

废话不多说,先让我们康康用它写出来的代码长什么样子:

public interface AmapClient {

/**
* 聪明的你一定看出来了这是一个GET请求
*/
@Get("http://ditu.amap.com/service/regeo?longitude={lng}&latitude={lat}")
Map getLocation(@Var("lng") String longitude, @Var("lat") String latitude);
}

轻轻松松完成了从高德地图获取经纬度所在的地理信息的 Rest API 接口定义,之后只要调用AmapClient.getLocation这个 Java 方法即可自动发送 HTTP 请求,并接受响应数据,然后转换成 Map 类型对象再交到你手上。

这样做确实比以前手动组装 OkHttp 的 Client 对象、 OkRequest 对象好上很多倍,就算要调用的 HTTP 接口很多、结构再复杂,也不用怕了。

但当一个项目中有成千上万个 HTTP 请求要调用,接口的管理和维护成本也会上升到一个吃力的高度。

比如哪个接口对应哪个网站平台哪个URL往往不能一眼看出、项目中散落的接口具体有哪些也没法一下子就知道。

另一个问题是 Forest 中的模板字符串中的占位符可以方便的引用配置文件中定义的变量已经通过@Var标签定义的参数,但语法高亮和一个表达式语言应用的基本支持(如代码补全和提示)。

这在代码少的时候不算问题,代码接口躲到一定程度,字符串模板中的变量引用写错的概率就大大增加,因为配置也多了,就容易搞不清楚谁再调用谁。

这个时候就有请我们今天的主角 ForestX 登场啦~~

专为 Forest 量身定做的 IDEA 插件

ForestX 是一款专为 Forest 提供支持的 IDEA 插件,它能大幅提高您使用 Forest 框架时的开发体验。

仓库地址: https://gitee.com/CHMing7/ForestX

接下来,就让我们康康它有哪些功能:

侧边导航工具栏

点击右边的Forestlogo小鸟图标,可打开ForestX的导航工具栏,它会把项目中定义的 Forest 接口都罗列在一起,方便管理。

  • 接口列表分三个层次:最顶层的项目(目录)、Forest 接口(小鸟图标)、请求方法

  • 在 Forest 接口列表中,方法名左侧的图标代表了该请求的类型(GET/POST)

  • 方法名/接口的右侧,则是用灰色字体展示的 URL 路径 (一般不是全路径,而是定义在方法上的路径)

代码补全
  1. 根据配置文件中forest.variables下定义的全局变量来补全代码

  2. 根据YAML配置文件中定义的YAML配置项来补全代码

  3. 根据请求方法的@Var参数定义来补全代码

  4. 根据@BindingVar注解定义的方法来补全代码

  5. 在编程式的代码中,也可出现代码补全的智能提示

    不过目前仅对Forest.getForest.post等请求方法开放次功能

代码跳转

按住键盘Ctrl键,将鼠标移动到 Forest 模板表达式中的标识符上(比如变量名),并悬停一小段时间,就会跳出该标识符所引用的配置变量或Java属性的简短信息。

此时点击鼠标左键,即可跳转到该标识符所引用的变量/配置的定义代码

结语

程序猿的工作是创造工具,而工具亦可以用来服务程序猿,这是一种正向循环,也是一次次迭代的缩影,正是在一次次的迭代中,程序猿们不断地创造出很好、更完善、更可能改变世界的工具。

而 ForestX 的迭代才刚刚开始!

你参与开源吗?

抽开源中国周边啦~

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
为什么电脑界存在一句话:一万的笔记本相当于六千的台式机的性能

为什么电脑界存在一句话:一万的笔记本相当于六千的台式机的性能

小兔子发现大事情
2024-11-30 08:32:17
阿萨德家族,属于小众的阿拉维派,为何他们能执掌叙利亚半个世纪

阿萨德家族,属于小众的阿拉维派,为何他们能执掌叙利亚半个世纪

历史摆渡
2024-10-12 19:30:02
十世班禅唯一女儿,回国就读清华博士,如今继承父亲事业

十世班禅唯一女儿,回国就读清华博士,如今继承父亲事业

野蛮不失女人心
2024-10-05 10:15:27
官宣2024年报销!利物浦遭重创,英超争冠反转,曼城卫冕希望大增

官宣2024年报销!利物浦遭重创,英超争冠反转,曼城卫冕希望大增

球场没跑道
2024-11-30 08:37:45
46岁郝蕾暴瘦二十斤!穿粉色西装又飒又美,重回颜值巅峰

46岁郝蕾暴瘦二十斤!穿粉色西装又飒又美,重回颜值巅峰

南城无双
2024-11-22 00:55:56
视频曝光!中国女游客马尔代夫潜水被鲨鱼咬住头部,伤口缝40多针

视频曝光!中国女游客马尔代夫潜水被鲨鱼咬住头部,伤口缝40多针

娱官儿
2024-11-29 15:46:18
老年人好消息!公安部发文:60以上老人能骑的电动车增加到5种!

老年人好消息!公安部发文:60以上老人能骑的电动车增加到5种!

博览历史
2024-11-29 18:51:30
争四变争二!国足下轮主场举办地曝光,形势:再赢3场,15分出线

争四变争二!国足下轮主场举办地曝光,形势:再赢3场,15分出线

侃球熊弟
2024-11-30 07:58:40
爆料:沙特放弃了,还提到中国

爆料:沙特放弃了,还提到中国

环球时报国际
2024-11-30 13:26:50
潘粤明与尹姝贻被曝疑似在香港领证结婚了

潘粤明与尹姝贻被曝疑似在香港领证结婚了

西楼知趣杂谈
2024-10-31 19:27:36
915球!1200球!C罗1战刷爆6大纪录 追平梅西成历史第1人

915球!1200球!C罗1战刷爆6大纪录 追平梅西成历史第1人

念洲
2024-11-30 06:34:01
发现个神奇现象:住在大房子里的老人,多半会活得很好!不是玄学

发现个神奇现象:住在大房子里的老人,多半会活得很好!不是玄学

等风来育儿联盟
2024-11-30 10:09:23
一觉醒来,全都跑光了!美国“求饶”已晚,中方这次真的下狠手了

一觉醒来,全都跑光了!美国“求饶”已晚,中方这次真的下狠手了

视野聚椒
2024-11-30 17:03:54
告诉大家一个坏消息:上海深圳出现3大怪象,正在快速蔓延

告诉大家一个坏消息:上海深圳出现3大怪象,正在快速蔓延

巢客HOME
2024-11-28 05:10:03
40岁过气明星张致恒被偶遇当环卫工,发福不少,曾多次网上乞讨

40岁过气明星张致恒被偶遇当环卫工,发福不少,曾多次网上乞讨

话娱论影
2024-11-29 15:15:43
让董宇辉表情失控的它,曾是中国最难喝饮料之首!去年卖了56亿元

让董宇辉表情失控的它,曾是中国最难喝饮料之首!去年卖了56亿元

极目新闻
2024-11-28 17:55:26
配置高得离谱!起售价不到18万?

配置高得离谱!起售价不到18万?

汽车之家
2024-11-30 12:13:03
湖人的进攻已经完全混乱,他们必须赶紧将后场大将放回先发阵容?

湖人的进攻已经完全混乱,他们必须赶紧将后场大将放回先发阵容?

稻谷与小麦
2024-12-01 00:02:02
官宣!火箭迎回白魔,场均19+6,50%命中+42%三分,或放弃谢泼德

官宣!火箭迎回白魔,场均19+6,50%命中+42%三分,或放弃谢泼德

老王大话体育
2024-11-30 22:57:53
突发!菲律宾局势变天,马科斯性命不保,中方不用出手了

突发!菲律宾局势变天,马科斯性命不保,中方不用出手了

军武亮剑
2024-11-30 14:58:12
2024-12-01 00:24:49
开源中国
开源中国
每天为开发者推送最新技术资讯
6620文章数 34302关注度
往期回顾 全部

科技要闻

官宣!华为+广汽,联手造车!

头条要闻

八年来首次 叙利亚反对派武装攻入阿勒颇大部分地区

头条要闻

八年来首次 叙利亚反对派武装攻入阿勒颇大部分地区

体育要闻

历史第一!詹姆斯再创里程碑宝刀不老

娱乐要闻

恶意炒作!李行亮麦琳和好后口碑崩塌

财经要闻

雪松爆雷前实控人张劲在香港抛售房产

汽车要闻

比亚迪方程豹豹8推送首次OTA 新增暴力模式

态度原创

房产
健康
本地
时尚
公开课

房产要闻

大量甩地!114亿,4790亩!海南土地市场全面爆发!

花18万治疗阿尔茨海默病,值不值?

本地新闻

云游中国|来伦布夏果感受充满Passion的人生

48岁满头银发又怎样?她活成了所有女人都想成为的样子

公开课

一块玻璃,如何改变人类世界?

无障碍浏览 进入关怀版