Ale*_*ühl 4 java rest jax-rs resteasy java-ee-7
我需要提供一个java REST客户端,它应该包含一个包中所有必需的jar.我选择RestEasy作为REST框架,因为服务器应用程序是在JBoss上完成的.
到目前为止,我发现的几乎所有示例都使用应用程序容器环境,其中提供了这些lib,因此在编译期间只需要Java EE API或使用Maven构建,因此依赖项会自动解决,这可能是一个好主意,当前的标准方法,但由于项目相关的原因,我需要在lib文件夹中的jar,并能够在构建期间包含一个可执行jar.
所以我的问题是,哪个罐子有必要建立一个可以做类似的简单客户端:
ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target(myURL).queryParam("param",
"value");
Builder builder = target.request(MediaType.APPLICATION_JSON).header("user", "abc");
Invocation invocation = builder.buildGet();
MyResponseObject response = invocation.invoke(MyResponseObject .class);
Run Code Online (Sandbox Code Playgroud)
Pau*_*tha 13
最简单的方法是使用Maven.我这么说的原因是,你想要的主要工件是resteasy-client
工件,但是这个工件依赖于其他工件.如果我创建一个新的Maven项目,只添加此依赖项
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.9.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
该项目将引入所有这些工件
但如果您不使用Maven,可以在此处下载整个resteasy软件包.它提供了比你需要的更多,但它将包含你在上面的图片中看到的所有罐子,以及其他一些好东西,如用户指南,示例等.根据上图,只需获得您需要的罐子.确保下载最终版本.当你解压缩它时,所有的罐子都应该在lib
dir中.
我可能会提到的另一件事是,为了将JSON表示解组到Java类中,您可能还需要resteasy-jackson2-provider
.如上所述,您将看到这些工件
同样,这些也包含在下载中.这在大多数情况下都适用,如果您使用JAXB注释(可以返回XML或JSON),因为提取了工件jackson-module-jaxb-annotations
,但该工件不支持所有JAXB注释,因此您可能需要拉入resteasy-jaxb-provider
,如果需要.就像我说的那样,只有jackson2提供商可能就足够了.但在你的情况做需要JAXB的prodiver,这里是什么样子
再次,包含在下载中