springbootresttemplate ジャクソン汎用 fastjson 汎用

ジャクソン逆シリアル化ジェネリックス

Springboot はデフォルトでジャクソンのシリアル化と逆シリアル化を使用します。RestTemplate応答を受信するときに、ジェネリックスに逆シリアル化する必要がある場合がありますexchange。RestTemplate のメソッドを確認してください。ParameterizedTypeReferenceジェネリックスをサポートするパラメーターがあります。

public <T> ResponseEntity<T> exchange(URI url, HttpMethod method, @Nullable HttpEntity<?> requestEntity,
			ParameterizedTypeReference<T> responseType);

このような

// 泛型为接口返回数据的类型
        ParameterizedTypeReference<CommonResult<User>> responseBodyType =
                new ParameterizedTypeReference<CommonResult<User>>() {
                };
        ResponseEntity<CommonResult<User>> responseEntity = restTemplate.exchange(uri,
                HttpMethod.POST, request, responseBodyType);

メソッドを使用する必要があることに注意してくださいexchange。パラメータを持つのは交換メソッドのみですorg.springframework.core.ParameterizedTypeReference

fastjson はジェネリックを逆シリアル化します

使用com.alibaba.fastjson.TypeReference#TypeReference()

//String jsonStr = ""
JSON.parseObject(jsonStr,new TypeReference<CommonResult<User>>(){
      })

おすすめ

転載: blog.csdn.net/wangjun5159/article/details/130711207