gpt4 book ai didi

java - 如何从客户端 Java 调用 PUT 方法?

转载 作者:行者123 更新时间:2023-12-02 09:58:27 25 4
gpt4 key购买 nike

我有以下方法:

@PUT
@Path("/reduceEnergy/{id}/{action}")
String reduceEnergyConsumption(@PathParam("id") int id,
@PathParam("action") String action);

我想从客户端调用此方法。 (如果我有 GET 方法,我会这样写:

String response = target.path("air_quality")
.path("reduceEnergy/"+action)
.request()
.accept(MediaType.TEXT_PLAIN)
.get(String.class);
System.out.println(response);

但现在我有一个 PUT 方法。我是这样写的:

但我不知道如何完成或纠正它

Response response = target.path("aqsensor")
.path("reduceEnergy/"+pr+"/"+action)
.request()
.accept(MediaType.TEXT_PLAIN)
.put(null);
System.out.println(response.getStatus());

感谢您帮助我找到解决方案。

最佳答案

您不能在 put 中发送 null,您需要发送 Entity

给定端点的以下定义:

@Path("myresource")
public class MyResource {

@PUT
@Path("/reduceEnergy/{id}/{action}")
public String reduceEnergyConsumption(@PathParam("id") int id,
@PathParam("action") String action) {
System.out.println("id: " + id);
System.out.println("action: " + action);
return "";
}
}

你可以这样做:

Entity<String> userEntity = Entity.entity("", MediaType.TEXT_PLAIN);

Response response = target.path("myresource/reduceEnergy/10/action")
.request()
.put(userEntity);

System.out.println("Status: " + response.getStatus());

此输出:

id: 10
action: action
Status: 200

关于java - 如何从客户端 Java 调用 PUT 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55809987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com