为什么我从 Feign 获取时解析 JSON 出错?

Why I get error parsing JSON when get from Feign?

这是我的 JSON 我从我的 STUB 回来了:

{
  "brokerAccounts": [
     {
       "id": "4598",
       "customTags": [
         "main-buy"
       ]
     }
  ]
}

这是实体java class

@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;
    }
}

在尝试使用 Feign 获取它之后 ResponseEntity<String> 我得到了这个:

Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token

据我所知,我的 json 有效。我有提供 getter 和 setter 的 @Data 注释。什么问题?

在我看来,这是负责任的 - ResponseEntity<String>。您正在尝试将 json 中的 json object 格式反序列化为字符串,这是不可能的,因为 string 格式不同。

我想改为:

ResponseEntity<InvestBrokerAccountsRs>

应该可以解决您的问题。