java 转发文件从一个REST API发布到另一个REST API

vdzxcuhz  于 2023-05-21  发布在  Java
关注(0)|答案(2)|浏览(161)

有人能帮助我理解如何将文件从一个REST API发送到另一个REST API吗

moiiocjp

moiiocjp1#

考虑您的第一个REST API,您希望从其中调用对第二个REST API的请求作为客户端。它本身也是REST API的事实是无关紧要的。因此,您可以使用任何第三方Http客户端向第二个REST API发送请求。这里这里有一些流行的Http客户端

  1. Apache Http client
  2. OK Http client
    1.有一个开源的MgntUtils(由我编写和维护)。它也有一个简单的Http客户端。它没有像上面的其他2个那样给予所有丰富的功能,但使用起来非常简单。你也可以试试那个。这是一个HttpClient Javadoc。MgntUtils库可以作为maven artifact或从Github获得(带有源代码和Javadoc)
kknvjkwl

kknvjkwl2#

尝试在src post方法中使用OKHttpClient类:

public static boolean uploadFile(String actionUrl,File file,String token) {
    OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
    MediaType mediaType = MediaType.parse("multipart/form-data");
    RequestBody body = RequestBody.create(mediaType, file);
    Request request = new Request.Builder()
            .url(actionUrl)
            .method("POST", body)
            .addHeader("Authorization", token)
            .addHeader("Accept", "application/json;odata=verbose")
            .addHeader("Content-Type", "multipart/form-data")
            .build();
    try {
        Response response = client.newCall(request).execute();
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    }
    return true;
}

相关问题