这是我从存根返回的JSON:
{
"brokerAccounts": [
{
"id": "4598",
"customTags": [
"main-buy"
]
}
]
}
下面是实体的java类
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class InvestBrokerAccountsRs {
private List<InvestBrokerAccount> brokerAccounts;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public static class InvestBrokerAccount {
private String id;
private List<String> customTags;
}
}
在尝试使用FeignResponseEntity<String>
获得它后,我得到了这个:
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
如我所见,我的json是有效的。我有@Data
注释,它提供了getter和setter。什么是问题?
在我看来,这是负责任的-ResponseEntity<String>
。您正在尝试反序列化json, jsonobject格式化为字符串,这是不可能的,因为string格式不同
我想改成:
ResponseEntity<InvestBrokerAccountsRs>
应该能解决你的问题。