首页 > 解决方案 > 用resteasy提出请求

问题描述

我想用 resteasy 构建一个 put 请求,类似于以下 curl 命令:

curl -u myUser:myP455w0rd! -X PUT "http://localhost:8081/artifactory/my-repository/my/new/artifact/directory/file.txt" -T Desktop/myNewFile.txt

我从类似的东西开始

Client client = ClientBuilder.newClient();
ResteasyWebTarget rWebTarget = (ResteasyWebTarget) client.target(targetPath);
rWebTarget.register(new BasicAuthentication(user, password));

rWebTarget.request().put(entity);

我想我必须将本地文件指定为,entity但我不清楚该怎么做。

标签: javarestjax-rsresteasyput

解决方案


它似乎以下列方式工作:

Client client = ClientBuilder.newClient();
ResteasyWebTarget rWebTarget = (ResteasyWebTarget) client.target(targetPath);
rWebTarget.register(new BasicAuthentication(user, password));

InputStream stream = Files.newInputStream(path);

Entity<InputStream> entity = Entity.entity(stream, MediaType.APPLICATION_OCTET_STREAM);
Response put = rWebTarget.request().put(entity);

推荐阅读