JAX-RS从客户端向RESTful Web服务发送文件/ InputStream

时间:2017-06-21 20:24:18

标签: java forms web-services rest jax-rs

我必须实现一个接受xml文件的RESTful Web服务。 我有一个客户端应用程序和一个使用Jersey的服务器应用程序。

问题:我必须从我的客户端向我的RESTful Web服务发送文件。

客户代码:

File file = new File("Path_to_file.xml");
InputStream in = new FileInputStream(file);
Response response = this.client
                        .target("http://localhost:8080/rest/import/upload")
                        .request(MediaType.TEXT_PLAIN)
                        .post(Entity.xml(in));

服务器的代码:

@Post
@Path("/upload")
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
@Produces
public Response upload(@FormParam("file") File file) {
   ...code to validate File ...
}

我无法导入:javax.ws.rs.core.Formjavax.ws.rs.core.FormDataMultiPart。 到目前为止我能找到的每个答案都告诉我实现这些类。

有些人可以帮助我:)

Greetz,Paddaels

1 个答案:

答案 0 :(得分:0)

您可以使用JAX-RS Client API然后执行类似

的操作
  public String findUserByUsername(String username) {
    Response res = userTarget
            .resolveTemplate("username", username)
            .request("application/json").get();
    return res.readEntity(String.class);
}