import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.problemfighter.pfspring.restapi.inter.model.RestDTO;
import javax.validation.constraints.NotNull;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PersonMasterDTO implements RestDTO {
@JsonIgnore
public Long id;
@NotNull(message = "Please enter first name")
public String firstName;
public String lastName;
public String mobile;
@NotNull(message = "Please enter gender")
public String gender;
@NotNull(message = "Please enter age")
public Double age;
@JsonProperty
public Long getId() {
return id;
}
}
Master, Details, Update DTO Example
MasterDTO
What is RestDTO?
This is an empty Interface which is a boundary of Copy Intercept.
What is @DataMappingInfo(customProcessor = PersonCopyIntercept.class)?
This is an annotation which register Copy Intercept.
DetailsDTO
import com.fasterxml.jackson.annotation.JsonInclude;
import com.problemfighter.java.oc.annotation.DataMappingInfo;
import com.problemfighter.pfspring.webtestmodule.example.model.intercept.PersonCopyIntercept;
@JsonInclude(JsonInclude.Include.NON_NULL)
@DataMappingInfo(customProcessor = PersonCopyIntercept.class)
public class PersonDetailDTO extends PersonMasterDTO {
public String address;
public String email;
public String occupation;
}
UpdateDTO
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PersonUpdateDTO extends PersonDetailDTO {
public Long id;
public Long getId() {
return id;
}
}