【问题标题】:Create REST Services using Java in Eclipse在 Eclipse 中使用 Java 创建 REST 服务
【发布时间】:2013-11-04 19:03:54
【问题描述】:

我一直在寻找有关此主题的教程几天,但它们不是我正在寻找的东西,或者我无法让它们工作。我无法想象更多的人不会对这个主题感到困惑,所以我会在这里问。

我想在 Eclipse 中创建一个 REST 服务,我可以在我的 Web 服务器上运行它并使用来自单独的动态 Web 项目的 ajax “连接到”。我现在在这里寻找的是一个简单的 hello world 示例,该服务返回 ajax 与一个单独的 Web 项目一起使用它返回的 JSON。

我希望获得一份有用的用户指南(或至少指向其中的链接),这将帮助我和未来寻找同样东西的人。

我已经掌握了这个简单的课程(我已经包括了 Jersey Jars,但我不明白从这里做什么):

public class UserRestService {
private static final Logger log = Logger.getLogger(UserRestService.class.getName());

private CreateUserService createUser;

@POST
@Path("/CreateUser/{name}/{age}")
@Consumes("text/html")
public User createUser(@PathParam("name") String name, @PathParam("age") Integer age)            {

    return createUser.createUser(name, age);    
}
}

如何让这个类成为我的 tomcat 服务器上的一个可访问的 api 服务?如何设置另一个 Web 项目来使用它(我了解如何进行 ajax 调用,这更多的是我如何设置项目的问题)? servlet 从何而来?

【问题讨论】:

  • 我看到了这些,但让我感到困惑的是,当我从球衣上下载最新的东西时,它与教程中的内容不匹配,或者他们在 eclipse 中做旧版本的东西,并且现在不同了。基本上,当我经历其中许多时,我想知道它是否不起作用,因为我完全搞砸了,或者它是否需要以不同的方式完成,因为 eclipse 改变了或罐子改变了等等......
  • 很多框架都有这个问题。有时值得做一点侦探工作,看看教程使用什么版本,然后照做。

标签: java eclipse rest servlets


【解决方案1】:

好的,Java 标准是 jaxrs (https://jax-rs-spec.java.net/)。您可以使用 Jersey,它是 jaxrs (https://jersey.java.net/) 的其余实现。

可以在此处找到使用 eclipse、jersey 和 tomcat 实现服务的示例:http://www.vogella.com/articles/REST/article.html

如果您喜欢冒险,可以查看 vertx.io (http://vertx.io) 和我的 jaxrs 2.0 vertx 框架测试版“vest” (https://github.com/kevinbayes/vest)

补充: Jersey 在 github 上提供了如何实现服务的示例https://github.com/jersey/jersey/tree/master/examples

【讨论】:

  • 所以当我阅读教程时,我对将哪些 jar 复制到 WEB-INF/lib 文件夹感到困惑。当我从 jersey.java.net 解压缩 zip 文件时,我得到了 3 个文件夹(api、ext 和 lib),我究竟要将什么复制到我的 WEB-INF/lib 文件夹中?
  • 我会将其转换为 maven 或 gradle 项目来为您处理依赖项。 github上有一个包含所有依赖项的父pom文件github.com/jersey/jersey/blob/master/examples/…
【解决方案2】:

与其复制jar,不如使用maven或gradle进行包管理。一个简单的带有依赖关系的 pom.xml (maven) 可以帮助您抽象确定编译和运行时的依赖关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多