gpt4 book ai didi

java - RestEasy 客户端无法使用 @PathParam 参数

转载 作者:行者123 更新时间:2023-12-01 10:34:35 25 4
gpt4 key购买 nike

嘿,我在使用带有 PathParam 的 Resteasy 客户端方法时遇到问题。我解释一下:

我有一个在客户端和服务器端使用的接口(interface):

@Path("/1.0/user")
@Consumes({"application/json"})
@Produces({"application/json"})
public interface UserApi {
@GET
@Path("/{userid}/followers")
@PrivateApi
public List<DXUser> getUserFollowers(@PathParam("userid") long userId);
}

在服务器端,这按预期工作,我有一个实现此接口(interface)的具体类,并且我的 API 在线。没问题。我可以从 URL 调用此 API 方法:http://myapi.dev/1.0/user/1234/followers

但是,在客户端,我使用接口(interface)通过以下代码轻松调用 API:

ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://myapi.dev");
UserApi api = target.proxy(UserApi.class);
List<DXUser> users = api.getUserFollowers(1234);

我收到一个异常:java.lang.IllegalArgumentException:您没有提供足够的值来填充路径参数

我尝试用@POST 代替@GET 方法。我有同样的错误。我尝试使用@QueryParam,它有效!所以问题似乎只涉及@PathParam。

我不明白在这种情况下我做错了什么。您知道我该如何解决这个问题吗?

谢谢塞布

最佳答案

对不起,我错了。

我已导入 javax.websocket.server.PathParam 注释来代替 javax.ws.rs.PathParam

因此,Resteasy ClientProxy 无法创建良好的 PathParamProcessor。

对于这个错误,我们深表歉意。

关于java - RestEasy 客户端无法使用 @PathParam 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34855284/

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