gpt4 book ai didi

java - 如何从 RestTemplate postForLocation 获取 STRING 响应?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:18 33 4
gpt4 key购买 nike

我正在使用 Spring Framework 中的 RestTemplate 在 Java 中创建一个 REST 客户端。

一切都很好,直到我必须使用 postForLocation 发帖。

我正在访问的网络服务返回一个包含有关 POST 操作的信息的 json。

在 PHP 中很好,但我真的不明白如何在 Java 中使用 RestTemplate。

public String doLogin()
{
Map<String, String> args = new HashMap<String, String>();

args.put("email", AUTH_USER);
args.put("token", AUTH_PASS);

String result = restTemplate.postForLocation(API_URL + "account/authenticate/?email={email}&token={token}", String.class, args);

return result;
}

这会返回 NULL。

使用相同的代码但使用 getForObject(当然,将 URL 更改为正确的内容)我有一个完整的响应,即这有效:

String result = restTemplate.getForObject(url, String.class);

那么...如何从 postForLocation 获得响应?

Obs.:抱歉,如果这个问题很愚蠢。我是 Java 初学者

最佳答案

postForLocation 方法返回 Location header 的值。您应该将 postForObjectString 类一起使用,它返回服务器的响应。

像这样:

String result = restTemplate.postForObject(API_URL + "account/authenticate/?email={email}&token={token}", String.class, args);

这将以字符串形式返回响应。

关于java - 如何从 RestTemplate postForLocation 获取 STRING 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15669337/

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