我试图使用一个给定的API,它返回这样的身体响应:
"access_token": "xkeo94s4qviHSTDIuTCbgRQSeNfrrMamiCN0w6wu",
"token_type": "Bearer",
"expires_in": 9600,
"refresh_token": "PpF0LfLPmdsm9FJFu4YmDBPENqTwGQIqQjw8MqOP"
所以我创建了以下类:
@JsonIgnoreProperties(ignoreUnknown = true)
public class EHTLToken {
private String access_token;
private String token_type;
private String expires_in;
private String refresh_token;
// getters and setters
我可以用以下代码提出请求并获得预期的响应体:
@Test
void getTokenTest() {
String uri = "/oauth/access_token";
EHTLClient client = new EHTLClient();
Credenciais credenciais = new Credenciais();
RequestHeadersSpec<?> request = client.getWebClient().method(HttpMethod.POST).uri(uri).bodyValue(credenciais);
String response = request.retrieve().bodyToMono(String.class).block();
System.out.println(response);
}
但当我试图检索对EHTLToken的响应时。类并获取其atributes,则该类被实例化,但其所有atributes都为null。以下是我正在尝试的:
@Test
void getTokenTest() {
String uri = "/oauth/access_token";
EHTLClient client = new EHTLClient();
Credenciais credenciais = new Credenciais();
RequestHeadersSpec<?> request = client.getWebClient().method(HttpMethod.POST).uri(uri).bodyValue(credenciais);
EHTLToken response = request.retrieve().bodyToMono(EHTLToken.class).block();
Assert.notNull(response, "Class is null.");
Assert.notNull(response.getAccessToken(), "Token is null.");
}
我的第二次测试失败了:
java.lang.IllegalArgumentException: Token is null.
at org.springframework.util.Assert.notNull(Assert.java:198)
at br.com.ribeiro.fernando.ehtl.EhtlApplicationTests.getTokenTest(EhtlApplicationTests.java:27)
我是否误解了bodyToMono()的概念?我怎样才能从一个响应机构获得答案,并通过WebClient设置为给定的类?
当做
对于任何有此问题的人,我的问题是REST API给出了如下响应:
"access_token": "xkeo94s4qviHSTDIuTCbgRQSeNfrrMamiCN0w6wu",
"token_type": "Bearer",
"expires_in": 9600,
"refresh_token": "PpF0LfLPmdsm9FJFu4YmDBPENqTwGQIqQjw8MqOP"
我创建了具有以下属性的POJO:
private String access_token;
private String token_type;
private String expires_in;
private String refresh_token;
当我把我的POJO改成这样时,我的测试成功了:
@JsonIgnoreProperties(ignoreUnknown = true)
public class EHTLToken {
@JsonProperty("access_token")
private String accessToken;
@JsonProperty("token_type")
private String tokenType;
@JsonProperty("expires_in")
private String expiresIn;
@JsonProperty("refresh_token")
private String refreshToken;
我将属性重命名为约定,并手动将json属性与@JsonProperty一起添加。
问题内容: 首先,我是一个新手,我正在尝试使用mediastore获取媒体文件的详细信息,并将详细信息保存在List中。这是我在做什么 在这里,我从内部和外部uri获取文件详细信息并将其保存在中。但是我无法获取特定列的详细信息。这就是我正在尝试的 我如何从另一个类或片段中的Item类获得以下详细信息作为数组。 问题答案: 您可以像这样获取数组项。例如,这是示例 如果要将数据设置为listview,
问题内容: 将DataFrame设置为redis之后,再将其取回,redis返回一个字符串,但我想不出一种将该str转换为DataFrame的方法。 我该如何适当地做这两个? 问题答案: 组: 得到:
问题内容: 我如何平均?我想找到的平均值,学生总数和的总数。例: 输入 :4 4 4 4 产出: 学生总数 :4 总GPA :16 平均GPA: 4 问题答案: 如果问题是您得到错误的答案,则原因是此循环: 大概您打算在用户输入负数时退出循环。这样做有问题,它将在总数和计数中包含负数。您可以这样重写循环: (其他解决方案也是可能的)。在代码的后面,您将需要防止第一个数字为负。如果发生这种情况,将为
问题内容: 我们可以使用get本地时区名称,但该名称与不兼容。 实际上,返回的名称是不明确的。此方法在我的系统中返回,但是“ CST”可以指示四个时区: 中部时区(北美)-在北美中部时区观察 中国标准时间 中原标准时间-台湾现在很少使用“中原标准时间”一词 澳大利亚中央标准时间(ACST) 问题答案: 解决此问题的一种非常简单的方法: 更新 :@MartijnPieters说“这不适用于DST /
因此,我有以下代码用于使用mediastore获取图像: 这是一个很好的获取图片文件夹中所有图片的工具,我想把它改为获取特定文件夹中的所有图片,这些图片将作为字符串传递。e、 g