Spring RestTemplate Enviar lista y obtener Lista

Quiero hacer un servicio con Spring'sRestTemplate, en mi lado del servicio, el código es así:

@PostMapping(path="/savePersonList")
@ResponseBody
public List<Person> generatePersonList(@RequestBody List<Person> person){
    return iPersonRestService.generatePersonList(person);
}

En el lado del cliente si llamo al servicio con este código:

List<Person> p = (List<Person>) restTemplate.postForObject(url, PersonList, List.class);

No puedo usar elp objetar comoList<Person>, se convertirá en unLinkedHashList. Después de algunas investigaciones, encuentro una solución que dice que tengo que llamar al servicio con el método de intercambio:

ResponseEntity<List<Person>> rateResponse = restTemplate.exchange(url, HttpMethod.POST, personListResult, new ParameterizedTypeReference<List<Person>>() {});

y con esta solución el servidor no puede tomar el objeto y generar una excepción, ¿cuál es la forma correcta?

Respuestas a la pregunta(2)

Su respuesta a la pregunta