gpt4 book ai didi

java - 如何在 Jersey Client 中关闭模板参数匹配?

转载 作者:行者123 更新时间:2023-12-04 17:35:00 25 4
gpt4 key购买 nike

谁能建议如何在 Jersey Client 中关闭模板变量匹配? org.glassfish.jersey.client.JerseyClient

准备包含以下文本的 GET 请求时:/api/users/{$USER_ID}/firstname 它将抛出如下异常:

java.lang.IllegalStateException: The template variable 'USER_ID' has no value
at org.glassfish.jersey.client.JerseyWebTarget.getUri(JerseyWebTarget.java:134)
at org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:214)
....
Caused by: java.lang.IllegalArgumentException: The template variable 'USER_ID' has no value
at org.glassfish.jersey.uri.UriTemplate$1ValuesFromArrayStrategy.valueFor(UriTemplate.java:1020)
at org.glassfish.jersey.uri.UriTemplate.resolveTemplate(UriTemplate.java:706)
at org.glassfish.jersey.uri.UriTemplate.createUriComponent(UriTemplate.java:1030)
at org.glassfish.jersey.uri.UriTemplate.createURIWithStringValues(UriTemplate.java:970)
at org.glassfish.jersey.uri.UriTemplate.createURIWithStringValues(UriTemplate.java:906)
at org.glassfish.jersey.uri.UriTemplate.createURI(UriTemplate.java:871)
at org.glassfish.jersey.uri.internal.JerseyUriBuilder._build(JerseyUriBuilder.java:914)
at org.glassfish.jersey.uri.internal.JerseyUriBuilder.build(JerseyUriBuilder.java:831)
at org.glassfish.jersey.client.JerseyWebTarget.getUri(JerseyWebTarget.java:132)

最佳答案

根据@NathanKumar 的评论,我尝试对 ${...} 内容进行 URL 编码,如下所示:

String query = query.replace("${", "%24%7B").replace("}", "%7D");

它解决了问题!

关于java - 如何在 Jersey Client 中关闭模板参数匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57011188/

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