목차

  1. get 요청
    1. 특징
  2. post, put, delete 요청
    1. 통신 방식
  3. 스프링 컨트롤러의 파싱 전략
    1. Key=Value 데이터를 변수로 파싱
    2. Key=Value 데이터를 오브젝트로 파싱
    3. Key=Value가 아닌 데이터 파싱 (= JSON 데이터 or 일반 text 데이터)
    4. form 태그로 JSON 데이터 요청하는 방법

 

 

 

1. get 요청

  • http(주소)에 데이터를 담아서 전송하는 방법
  • 데이터 형태는 Key=Value 

 

1) 특징

  • body로 데이터를 담아 보내지 않음

 

 

 

2. post, put, delete 요청

  • 데이터를 변경하는 작업
  • 데이터를 담아 보내야 할 것이 많음

 

1) 통신 방식

  • get 요청, post 요청 = form 태그 (Key=Value 형태)
  • put요청, delete 요청 = 자바스크립트
  • 통신 방식을 통일하기 위해 'ajax 요청 = 자바스크립트 / 데이터 요청 = JSON' 으로 바꿈

 

 

 

 

3. 스프링 컨트롤러의 파싱 전략

 

1) Key=Value 데이터를 변수로 파싱

  • 스프링 컨트롤러는 Key=Value 데이터를 자동으로 파싱하여 변수에 담아준다
  • get 요청, post 요청 모두 Key=Value 이기 때문에 함수의 파라미터로 받을 수 있음

 

전달 받은 데이터를 매개변수(파라미터)로 받을 수 있음

 

 

 

 

2) Key=Value 데이터를 오브젝트로 파싱

  • 스프링 컨트롤러는 Key=Value 데이터를 오브젝트로 파싱해서 파라미터로 받을 수 있음
  • 단, 해당 오브젝트에 setter가 없으면 파싱하지 못한다 (@Data는 getter, setter의 기능을 포함)
  • setter가 없는 변수로 데이터를 보내면 무시 / setter가 있음에도 데이터를 안보내면 null

 

@Data는 setter, getter의 기능을 포함한다

 

오브젝트를 파싱해서 파라미터로 받음

 

 

 

 

3) Key=Value가 아닌 데이터 파싱 (= JSON 데이터 or 일반 text 데이터)

  • JSON 데이터나 일반 text 데이터는 스프링이 오브젝트로 파싱해서 받지 못한다
  • 이럴 땐, @RequestBody 어노테이션을 사용한다
    • MessageConverter 클래스를 구현한 Jackson 라이브러리가 자동으로 JSON 데이터를 자바 오브젝트로 파싱하여 받을 수 있음

 

@RequestBody 어노테이션을 통해 Key=Value가 아닌 'User' 데이터도 파싱 가능

 

 

 

 

4) form 태그로 JSON 데이터 요청하는 방법

  1. 별도의 jsp 파일을 만들어 <form> 태그의 id로 각각의 데이터를 받고, JS 파일로 넘긴다
  2. JS 파일을 만들고 jsp에서 들어온 <form> 태그의 id에 담긴 데이터를 저장 후, ajax를 사용하여 전달한다

** 추후에 작업 예정

 

+ Recent posts