如何自定义CXF代理给每个方法添加@QueryParam?
How to customize CXF proxy to add @QueryParam to each method?
我有一个 CXF 代理接口,例如
@Path("/resources")
public interface ResourceService {
@GET
@Path("/list")
@Produces("application/json")
List<Resource> list(@QueryParam("name") String name);
...
}
还有一个电话:
ResourceService service = JAXRSClientFactory.create("http://localhost:8080/app/rest"
service.list("name");
是否可以自定义代理以便为每个方法调用添加另一个 QueryParam?所以 list()
会变成:
List<Resource> list(@QueryParam("name") String name, @QueryParam("ticket") String ticket);
基本上我需要为所有方法提供 SSO 票证,但不想在代码中的任何地方指定它,而是创建某种可以透明传递它的扩展。
看来我自己找到了答案:
WebClient.client(service).query("ticket", ticket);
我有一个 CXF 代理接口,例如
@Path("/resources")
public interface ResourceService {
@GET
@Path("/list")
@Produces("application/json")
List<Resource> list(@QueryParam("name") String name);
...
}
还有一个电话:
ResourceService service = JAXRSClientFactory.create("http://localhost:8080/app/rest"
service.list("name");
是否可以自定义代理以便为每个方法调用添加另一个 QueryParam?所以 list()
会变成:
List<Resource> list(@QueryParam("name") String name, @QueryParam("ticket") String ticket);
基本上我需要为所有方法提供 SSO 票证,但不想在代码中的任何地方指定它,而是创建某种可以透明传递它的扩展。
看来我自己找到了答案:
WebClient.client(service).query("ticket", ticket);