如何将业务逻辑公开为移动应用程序使用的 RESTful Web 服务?
How to expose the business logic as a RESTful web service to be consumed by a mobile application?
我在移动应用程序的服务器端工作。我的要求之一是使用 Java EE、JPA、EJB 和 JSON 来实现服务器。
我是 Java EE 的新手,但我读了一些书,到目前为止,我设法通过实施项目的 Pojo 和 EJB 来构建业务逻辑。
我遇到困难的地方是弄清楚如何将我的 EJB 公开为 RESTful 应用程序客户端可以使用的 Web 服务。我可以找到一些文档和教程,但所有这些都与为网站而非移动设备构建后端有关。
将业务逻辑作为 RESTful Web 服务公开给 Java EE 环境中的移动应用程序的最佳做法是什么?
我不确定你的应用程序服务器是什么,但使用 JavaEE 6 和 7,你可以很容易地做到这一点。查看 this tutorial 以获得良好的起点。一般来说,一个简单的服务看起来像:
@Path("/login")
public class LoginService {
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
@POST
public Response login(LoginRequest loginRequest) throws Exception {
// your code
}
在这种情况下,LoginRequest 很简单 Java POJO 在 JavaScript 世界中具有等效项。
请注意,客户端是什么并不重要 - 服务器只需要 JSON 编码的对象,它可以是浏览器或本机移动应用程序。
一个问题是如何初始化 Rest 框架下的应用服务器。有的使用web.xml,有的使用特别注释的class。这是一个有点不同的问题 - 让我们知道您使用的是哪个应用程序服务器。
你可以看看这个样本https://github.com/AdamBien/airhacks/tree/master/javaee-sample。
这 class 是您 bootstrap 其余应用程序所需的全部内容:https://github.com/AdamBien/airhacks/blob/master/javaee-sample/src/main/java/com/airhacks/JAXRSConfiguration.java
这一个使用无状态 EJB 公开了一个休息资源:
https://github.com/AdamBien/airhacks/blob/master/javaee-sample/src/main/java/com/airhacks/messaging/boundary/MessagesResource.java
我在移动应用程序的服务器端工作。我的要求之一是使用 Java EE、JPA、EJB 和 JSON 来实现服务器。
我是 Java EE 的新手,但我读了一些书,到目前为止,我设法通过实施项目的 Pojo 和 EJB 来构建业务逻辑。
我遇到困难的地方是弄清楚如何将我的 EJB 公开为 RESTful 应用程序客户端可以使用的 Web 服务。我可以找到一些文档和教程,但所有这些都与为网站而非移动设备构建后端有关。
将业务逻辑作为 RESTful Web 服务公开给 Java EE 环境中的移动应用程序的最佳做法是什么?
我不确定你的应用程序服务器是什么,但使用 JavaEE 6 和 7,你可以很容易地做到这一点。查看 this tutorial 以获得良好的起点。一般来说,一个简单的服务看起来像:
@Path("/login")
public class LoginService {
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
@POST
public Response login(LoginRequest loginRequest) throws Exception {
// your code
}
在这种情况下,LoginRequest 很简单 Java POJO 在 JavaScript 世界中具有等效项。
请注意,客户端是什么并不重要 - 服务器只需要 JSON 编码的对象,它可以是浏览器或本机移动应用程序。
一个问题是如何初始化 Rest 框架下的应用服务器。有的使用web.xml,有的使用特别注释的class。这是一个有点不同的问题 - 让我们知道您使用的是哪个应用程序服务器。
你可以看看这个样本https://github.com/AdamBien/airhacks/tree/master/javaee-sample。
这 class 是您 bootstrap 其余应用程序所需的全部内容:https://github.com/AdamBien/airhacks/blob/master/javaee-sample/src/main/java/com/airhacks/JAXRSConfiguration.java
这一个使用无状态 EJB 公开了一个休息资源: https://github.com/AdamBien/airhacks/blob/master/javaee-sample/src/main/java/com/airhacks/messaging/boundary/MessagesResource.java