1
在REST-WebServices中,我使用DTO類來請求和響應。我的請求Dto和響應Dto基本上是相同的 - 結構明智的,但在請求期間,我只提供某些字段的值(caseId和userId在這裏),但作爲響應禁止editedBy和modifiedDate,我得到Dto的所有其他字段的值。分別請求DTO和響應DTO json請求主體和響應主體
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
}
所以我應該在我的請求json中包含所有字段或只包含那些有值的字段。這裏是我的請求和響應jsons:
請求JSON: -
{
"procedure":{
"caseId": 1,
"userId": 1
}
}
響應JSON: -
{
"procedure":{
"procedureId": 1,
"procedureName": "proc1",
"caseId": 1,
"userId": 1,
"ownerId": 1,
"editedBy": null,
"createdDate": 1461059413000,
"modifiedDate": null
}
}
應我的請求和響應jsons是這樣本身或者我應該將整個dto在我的請求json?如果我的Dto課程還有其他錯誤,請提及他們。