2016-04-19 19 views
1

In REST-WebServices, verwende ich DTO-Klassen für Anfrage und Antwort. Meine Anfrage Dto und Antwort Dto sind im Wesentlichen die gleichen - Struktur weise, aber während der Anfrage ich Werte nur bestimmte Felder (caseId und userId hier), aber in Antwort Sperred editedBy und modifiedDate, bekomme ich Werte für alle anderen Felder der Dto.Anfrage DTO und Antwort DTO Json für Anfrage Körper und Antwort Körper

public class ProcedureRequestDTO{ 
private ProcedureDTO procedure; 
     // getters & setters 
} 

public class ProcedureResponseDTO{ 
private ProcedureDTO procedure; 
    // getters & setters 
} 

public class ProcedureDTO{ 
private Integer procedureId; 
private Integer procedureName; 
private Integer caseId; 
private Integer userId; 
private Integer ownerId; 
private Integer editedBy; 

@JsonInclude(value=Include.ALWAYS) 
@JsonDeserialize(using=ZonedDateTimeJsonDeserializer.class) 
@JsonSerialize(using=ZonedDateTimeJsonSerializer.class) 
@JsonFormat(shape=Shape.NUMBER) 
private ZonedDateTime createdDate; 

@JsonInclude(value=Include.ALWAYS) 
@JsonDeserialize(using=ZonedDateTimeJsonDeserializer.class) 
@JsonSerialize(using=ZonedDateTimeJsonSerializer.class) 
@JsonFormat(shape=Shape.NUMBER) 
private ZonedDateTime modifiedDate; 
    // getters & setters 
} 

Also sollte ich kommen alle Felder in meiner Anfrage json oder nur die Felder, die einen Wert haben. Hier sind meine Anfrage und Antwort jsons:

Anfrage json: -

{ 
    "procedure":{ 
     "caseId": 1, 
     "userId": 1 
    } 
} 

Antwort json: -

{ 
    "procedure":{ 
     "procedureId": 1, 
     "procedureName": "proc1", 
     "caseId": 1, 
     "userId": 1, 
     "ownerId": 1, 
     "editedBy": null, 
     "createdDate": 1461059413000, 
     "modifiedDate": null 
    } 
} 

Sollte meine Anfrage und Antwort jsons wie diese selbst sein oder sollte ich die gesamte schicken dto in meiner Anfrage json? Wenn es irgendwelche anderen Fehler mit meiner Dto-Klasse gibt, bitte erwähne sie auch.

Antwort

0

Ihre Anfrage json wird nur so sein. In Anforderung DTO json, können Sie nur die Felder sehen, die einen gewissen Wert haben. Wie in Ihrem Fall caseId und userId.

und über Reaktion json, ist es auch in Ordnung, aber caseId und userId aus der Antwort json redundent sein kann. Wie Sie bereits ihre Werte kennen.