0

I'm working on a Client Rest and I was asking myself if there is an elegant way to map on DTO objects several JSON objects.

I have something like this:

{
    "status": "OK",
    "error": [],
    "payload": {
        "list" :
            [{"Id":"012345", name":"IRON MAN", "age":"45"}...]
    }
}

So I created several DTO class:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResponseDTO {
    private String status;
    private List<String> error;
    private ResponsePayloadDTO payload;
}

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResponsePayloadDTO {
    List<MyObject> list;
}

@Data
@AllArgsConstructor
@NoArgsConstructor
public class MyObject {
    private String Id;
    private String name;
    ...
}

Is there a more efficient way to manage it? Thank you

  • If you have many rest API and DTO to write, you'd better to use code generator. Tools like https://github.com/OpenAPITools/openapi-generator might be a good iead, but the question is that you must have the rest API documents in required format. – Tsing Jul 16 '21 at 12:46

1 Answers1

0

Add Gson library in pom.

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>

Gson gson = new Gson();
User user= gson.fromJson(jsonInString, Respons Dto.class);
S. Anushan
  • 728
  • 1
  • 6
  • 12