새싹🌱

[JAVA] RequestMapping Handler Method

idleday 2022. 11. 16. 18:13

@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