Coding Note
SpringBoot) 블로그 프로젝트_5.JSON 통신 이론 본문
무한 참조 다음
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 같은 데이터는 아래와 같이 생겼다.
'SpringBoot > 블로그만들기PJ' 카테고리의 다른 글
SpringBoot) 블로그 프로젝트_7.부트스트랩을 이용한 화면 구현2, 회원가입 (0) | 2022.03.18 |
---|---|
SpringBoot) 블로그 프로젝트_6.부트스트랩을 이용한 화면 구현 (0) | 2022.03.17 |
SpringBoot) 블로그 프로젝트_4.yml설정, 테이블 생성 (0) | 2022.03.17 |
SpringBoot) 블로그 프로젝트_3.Git (0) | 2022.03.16 |
SpringBoot) 블로그 프로젝트_2.MySQL (0) | 2022.03.16 |