我正在移动应用程序的服务器端工作。我的要求之一是使用Java EE,JPA,EJB和JSON实现服务器。
我是Java EE的新手,但我做了一些阅读,到目前为止通过实现Pojos和项目的EJB来设法构建业务逻辑。
我遇到困难的地方在于弄清楚如何将我的EJB暴露为可由应用程序的客户端使用的RESTful Web服务。我可以找到一些文档和教程,但所有这些都与构建网站后端而不是移动相关。
将业务逻辑作为RESTful Web服务公开给Java EE环境中的移动应用程序有哪些最佳实践?
答案 0 :(得分:2)
我不确定您的应用服务器是什么,但使用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,有些使用特别注释的类。这是一个不同的问题 - 让我们知道您正在使用哪个应用服务器。
答案 1 :(得分:0)
您可以查看此示例https://github.com/AdamBien/airhacks/tree/master/javaee-sample。
这个类就是引导你的休息应用程序所需的全部内容:https://github.com/AdamBien/airhacks/blob/master/javaee-sample/src/main/java/com/airhacks/JAXRSConfiguration.java
并且这个使用无状态EJB公开了一个rest资源: https://github.com/AdamBien/airhacks/blob/master/javaee-sample/src/main/java/com/airhacks/messaging/boundary/MessagesResource.java