인터페이스 3일차 (DTO)
2023. 1. 5. 12:44ㆍ코딩배움일지/인터페이스 구현
DTO
- Data Transfer Object
- 계층간 데이터 전송을 위한 객체
- getter / setter / toString 메서드 만을 포함하고 있는 클래스 (추가적으로 다른 메서드를 포함할 수도 있음 예: equals 등)
@Data
- @Getter, @Setter, @ToString, @RequiredArgsConstructor, @EqualsAndHashCode 어노테이션이 합쳐진 어노테이션
@NoArgsConstructor
- 매개변수가 없는 생성자를 작성해주는 어노테이션
@AllArgsConstructor
- 모든 멤버변수를 매개변수로 받는 생성자를 작성해주는 어노테이션
@Getter
- Class 멤버변수들의 Getter 메서드를 작성해주는 어노테이션
@Setter
- Class 멤버변수들의 Setter 메서드를 작성해주는 어노테이션
@ToString
- Class 멤버변수들의 toString 메서드를 작성해주는 어노테이션
@EqualsAndHashCode
- 인스턴스간 속성 값들이 같은지 비교해주는 메서드와 동일한 클래스의 인스턴스인지 비교해주는 메서드를 작성해주는 어노테이션
@RequiredArgsConstructor
- 필수 멤버변수들을 매개변수로 받는 생성자를 작성해주는 어노테이션
package com.jingu.board.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HelloDto {
private String name;
private int age;
}
@RequestBody
- JSON 형태의 Request Body 데이터를 Java 객체로 변환해 주는 어노테이션
// @PostMapping(end-point) : 해당 end-point로 Post 방식의 Request 가 왔을 때 동작
@PostMapping(HELLO)
// @RequestBody : 해당 Request의 Body 에서 JSON 을 인식해 인스트너스로 변경
public String postHello(@RequestBody HelloDto requestBody) {
return requestBody.toString();
}
/////////////////////////
// @PostMapping(end-point) : 해당 end-point로 Post 방식의 Request 가 왔을 때 동작
@PostMapping(HELLO)
// @RequestBody : 해당 Request의 Body 에서 JSON 을 인식해 인스트너스로 변경
public HelloDto postHello(@RequestBody HelloDto requestBody) {
return requestBody;
}
'코딩배움일지 > 인터페이스 구현' 카테고리의 다른 글
유효성검사 (0) | 2023.01.09 |
---|---|
인터페이스 4일차 (postman) (0) | 2023.01.06 |
인터페이스 3일차 (Controller) (0) | 2023.01.05 |
인터페이스 2일차 ( Spring Framework & Dispatcher Servlet) (0) | 2023.01.04 |
인터페이스 2일차 (DI & IoC) (0) | 2023.01.04 |