Coding Note

SpringBoot) 블로그 프로젝트_5.JSON 통신 이론 본문

SpringBoot/블로그만들기PJ

SpringBoot) 블로그 프로젝트_5.JSON 통신 이론

jinnkim 2022. 3. 17. 02:43

 

무한 참조 다음

 

 

1. Get요청(조회)

- 주소에 데이터를 담아 보낸다.

- 데이터 형태는 key=value

  ex)http://localhost:8000/blog/dummy/user?username=aaa

- 웹 브라우저로 접속(body 테이터를 담아 보내지 않음)

 

2. Post, Put, Delete 요청(데이터 변경)

Body에 데이터를 담아 보낸다.

데이터 형태는 json으로 통일하는 것이 좋다!

 

- 데이터를 담아 보내야 할 것이 많음

- form 태그 method = 'Post'

- form 태그는 get/post요청(key=value) 못함

=> 자바스크립트로 요청함

 

즉, 통일해서 사용한다

자바스크립트로 ajax 요청, 데이터는 json으로 통일!!

 

스프링) form:form 태그 - post/put/delete 모두 가능한 태그

 

 

 

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

스프링 컨트롤러는 key=value 데이터를 자동으로 파싱하여 변수에 담아준다.

가령 get요청은 key=value이고 post요청 중에 x-www-form-urlencoded (form태그를 만들어서 데이터 전송) 시에도 key=value 이기 때문에 이러한 데이터는 아래와 같이 함수의 파라미터로 받을 수 있다.

 

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

스프링은 key=value 형태의 데이터를 오브젝트로 파싱해서 받아주는 역할도 한다.

** 이때 주의할 점은 setter가 없으면 key=value 데이터를 스프링이 파싱해서 넣어주지 못한다.

 

 

5. key=value가 아닌 데이터는 어떻게 파싱할까?

json 데이터나 일반 text데이터는 스프링 컨트롤러에서 받기 위해서는 @RequestBody 어노테이션이 필요하다.

** 기본전략이 스프링 컨트롤러는 key=value 데이터를 파싱해서 받아주는 일을 하는데 다른 형태의 데이터 가령 json 같은 데이터는 아래와 같이 생겼다.

 

 

Comments