springboot resttemplate jackson genérico fastjson genérico

genéricos de deserialización de jackson

Springboot utiliza la serialización y deserialización jackson de forma predeterminada. Al RestTemplaterecibir respuestas, a veces es necesario deserializarlas en genéricos. Observe exchangeel método de RestTemplate. Hay un ParameterizedTypeReferenceparámetro para admitir genéricos.

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

Como esto

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

Tenga en cuenta que exchangese deben usar métodos, solo el método de intercambio tiene org.springframework.core.ParameterizedTypeReferenceparámetros.

fastjson deserializa genéricos

usarcom.alibaba.fastjson.TypeReference#TypeReference()

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

Supongo que te gusta

Origin blog.csdn.net/wangjun5159/article/details/130711207
Recomendado
Clasificación