我想调用一个web服务,它接受url查询参数。 这是查询:
{PK} IN({{Select {o.name} from {Student! as o} where {o.name} IN ({{Select {s.pk}
from {School as s} where {s.code}="school"}})}})
我使用this
对查询进行编码我将编码后的查询放入网络服务网址:http://host?query=query_above_encoded。
所以当这样做时(使用resttemplate
调用Web服务):
ResponseEntity<Model> response = restTemplate.exchange(
url, HttpMethod.GET, request, Model.class);
我得到了这个例外:
org.springframework.web.client.HttpServerErrorException:500 Erreur Interne de Servlet
但是当我使用其他客户端应用程序(如Postman)调用相同的URL时,请获取响应。
有没有人有任何想法?
答案 0 :(得分:0)
解决方案是在编码url后使用URI JAVA对象:
ResponseEntity<Model> response = restTemplate.exchange(
new URI(encodedUrl), HttpMethod.GET, request, Model.class);
希望这有助于其他人。