controller 계층에서 작업을 진행했다.
client 기준으로 가장 먼저 거쳐 가야 하는 계층이어서 순서대로 작업하고자 contoroller를 먼저 건들였다.
// Entity -> DTO
private FoodDTO convertToDTO(Food food) {
FoodDTO dto = new FoodDTO();
dto.setId(food.getId());
dto.setName(food.getName());
dto.setDescription(food.getDescription());
dto.setPrice(food.getPrice());
dto.setCategory(food.getCategory());
return dto;
}
// DTO -> Entity
private Food convertToEntity(FoodDTO foodDTO) {
Food food = new Food();
food.setName(foodDTO.getName());
food.setDescription(foodDTO.getDescription());
food.setPrice(foodDTO.getPrice());
food.setCategory(foodDTO.getCategory());
return food;
}
매번 변환을 해주면 코드가 길어질 것이기에 따로 메서드를 만들어서 진행했다.
변환 메서드에서 사용한 방법은 "setter" 방식이다. 이 방법은 각각의 값을 직접 설정해야 했지만, 구글링 했을 때 가장 직관적으로 이해를 할 수 있는 방식이었기에 선택했다.
"Setter"는 객체 지향 프로그래밍에서 사용된다.
객체의 특정 속성 값을 설정하는 메서드를 의미한다.
setter 메서드들은 객체의 내부 상태를 외부로부터 안전하게 변경할 수 있도록 해주는 방법이다.(캡슐화)
예시 코드
public class Food {
private String name;
public void setName(String name) {
this.name = name;
}
}