@RequestMapping Handler Method
클라이언트 요청을 객체에 바인딩하는 방법
ModelAttribute
- HTTP Body(multipart/form-data) & HTTP 파라미터 데이터를 Setter 통해 1:1 바인딩 (HttpMessageConverter)
- 생성자/Setter 필요 (생성자,수정자 주입)
RequestParam
- HTTP 파라미터(Query Parameter)를 컨트롤러의 메서드 인자로 1:1 바인딩 (URI 상에서 데이터 검색)
- 객체 생성X, 변수별 데이터 저장O, 동적폼 전송X
- 파라미터 필요 : @RequestParam(required = false) 설정 시 매개변수 null 바인딩되어 없어도 실행됨
RequestBody
- HTTP Body(JSON,XML) -> Java Object 변환 (HttpMessageConverter)
- 객체 생성O, 변수별 데이터 저장X, 동적 폼전송
- 비동기 처리 -> @ResponseBody
- 생성자/setter 필요X : Jackson 라이브러리 내부적으로는 객체 생성, 필드를 찾아, Reflection 값 할당
DTO
- 계층 간 데이터 전송 객체(자바 빈)
- 로직X : getter(), setter()
- 용도 : 외부시스템과 데이터 통신, JSON serialization
VO
- 값 그 자체를 니티내는 객체
- 로직O : getter(), setter() X
- 불변성 보장 : Read-Only 속성, 필드값 같으면 같은 객체
- 객체 비교 : equals & hashcode 오버라이딩(재정의)
- 용도 : DB 에서 가져오는 데이터
+ Entity 도 있다고 한다..
'새싹🌱' 카테고리의 다른 글
Redux (0) | 2022.11.25 |
---|---|
[JAVA/Spring] JPA (0) | 2022.11.19 |
221109 JAVA 입문 (0) | 2022.11.09 |
0907 Socket.io (0) | 2022.09.07 |
0905 CSS 반응형 (0) | 2022.09.05 |