RMI 的 Java 后端如何扩展 REST 功能供前端调用

248 天前
 movq

现在后端的代码是 RMI 的形式供 client 调用的。client JVM 的 Java 代码,RMI 调用后端 JVM 的 service ,直接获得 Java model 对象。比如一个 service 是List<SomeObject> getObjects()

现在新增了 JS 前端,所以需要给 Java 后端扩展REST 功能,以供 JS 前端获取数据。前端不能直接拿到 Java 的 model ,得拿到 JSON 对象,所以 继续用 RMI 是不行的。

但不能直接重写后端,因为 RMI 调用还需要保留。

所以怎么给已有的 Java 后端增加 REST 功能呢?

910 次点击
所在节点    程序员
7 条回复
cubecube
248 天前
最简单的方式,创建一个 HttpServer 就行
Braisdom
248 天前
只能是 RMI 协议上包装一层。
wolfie
248 天前
HttpServer 、ServerSocket
movq
248 天前
@cubecube
@wolfie 如果我没理解错的话,你们的意思是再创建一个 http 服务器 A 做中介,A 和原来的服务器 B 进行 RMI 交互,同时 A 负责把从服务器 B 拿到的/传给 B 的 Java 对象进行序列化和反序列化,和前端进行 REST 传输?
wolfie
248 天前
@movq
第一反应,改后端服务代码,加个 HttpServer 工作量最小。
新增一个转发服务也行,自由度更高点。
silentsky
248 天前
如果是使用 spring 的话 直接将 @service 改成注解 @controller 再配上 URL 搞定
cubecube
248 天前
@movq 有 RMI 的后端你能改的话,直接代码里面加一个入口就行呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1025573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX