我刚刚开始使用 Jetty HttpClient v11,它很棒。但是,似乎缺少对路径参数或路由参数的固有支持,尽管它有一种添加查询参数的好方法。
路径参数示例:
https://localhost:8080/api/users/{id}
不确定它是否在那里,我错过了它,但我正在寻找一种方法来实现它。因此,如果有人已经这样做并为此创建了一个经过良好测试的小型(零外部依赖)实用程序/库,那么请向我指出。
更新:
只是在这里提供一个上下文,就像我想要实现的目标一样。
考虑这个 JAX-RS 资源方法。
@Path("/users/{id}")
@GET
@Produces(MediaType.APPLICATION_JSON)
public User getUser(@PathParam("id") String id) {
return this.userRepository.findOneById(id);
}
我们可以使用注解@PathParam 获取{id} 的值。
同样,我想在我在 Jetty HttpClient 之上编写的 RestClient 中提供一种方式,让消费者可以做一些事情。
Request jettyRequest = jettyClient.newRequest("https://apiserver.com/api/users/{id}")
.pathParam("id", 1234)
.method("GET");
我只是在 HttpClient 中寻找相同的东西,我知道这可以在将 URI 传递给这里的 newRequest 方法之前完成。