javajava-http-client

How to convert HttpResponse to Class in Java with HttpClient?


I am using the Java HttpClient (java.net.http) and I am sending a GET request.

The response I get is a JSON String of the class "UserDto".

HttpResponse<String> send = httpClient.send(accept, HttpResponse.BodyHandlers.ofString());

I don't want to receive my response as a string but convert it directly into a "UserDto" object.


Solution

  • You can use gson package to map the string to your UserDto class like the following:

    String result;  // JSON String of the class "UserDto".
    UserDto userDto = gson.fromJson(result, UserDto.class);
    return userDto;
    

    jackson is also an option but I prefer gson as its really simple to map with.