inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 프레임워크는 내 손에 [스프1탄]

35.REST 전송 방식의 이해(@RestController)

JSON.stringify 질문드립니다.

468

학운학운

작성한 질문수 32

0

안녕하세요 선생님.

function goUpdate(idx) {

var title=$("#nt"+idx).val();

var content=$("#ta"+idx).val();

$.ajax({

/* url : "boardUpdate.do", */

url : "board/update",

/* type : "post", */

type : "put",

/* Rest 부분에서 추가됨 */

contentType: 'application/json;charset=utf-8',

/* data : {"idx":idx, "title":title, "content":content}, */

data : JSON.stringify({"idx":idx, "title":title, "content":content}),

success : loadList,

error : function() {alert("error");}

});

}

 

여기서 {"idx":idx, "title":title, "content":content}) 이렇게 여러개를 보낼 때는 JSON.stringify를 붙여주고 contentType을 json으로 지정해줘야 하잖아요??

그리고 컨트롤러에서 @RequestBody가 필요하구요.

그런데 궁금한 것이 있습니다.

 

function goInsert(){

//var title=$("#title").val();

//var content=$("#content").val();

//var writer=$("#writer").val(); // 많으면 번거로움

var fData=$("#frm").serialize(); // form 안의 모든 parameter를 직렬화(한줄로)시켜서 한줄로 가져옴

$.ajax({

/* url : "boardInsert.do", */

url : "board/new",

type : "post",

data : fData,

success : loadList,

error : function() { alert("error")}

});

 

여기서 data를 fData로 넘겨주는데 fData는 여러개를 serialize()를 통해서 한줄로 가져오는 거잖아요?? 이거는 여러개긴 한데 한줄로 하나로 보내기 때문에 JSON.stringify가 필요 없는 건가요?? 그리고 컨트롤러에서도 @RequestBody 없이 받아도 잘 받아졌거든요. serialize()는 JSON이 아니기 때문에 @RequestBody가 필요없는건가요?

 

정리하자면 여러개를 보낼 때는 JSON.stringify로 해서 보내고 serialize()는 한줄로 만들어주기 때문에 여러개가 아니라 하나로 보면 될까요? 그리고 @RequestBody는 JSON 데이터를 처리할 때만 필요하고 serialize는 JSON 데이터가 아니니까 @RequestBody가 필요없는 것 맞을까요?

 

감사합니다.

spring jsp MVC Spring Security

답변 1

1

박매일

1. 여기서 {"idx":idx, "title":title, "content":content}) 이렇게 여러 개의 데이터를 JSON형식으로 컨트롤러에 전달하고자 하면 JSON.stringify로 변환해서 전달 하면되고 컨트롤러에서 받을 때 @RequestBody를 붙여서 받으면 됩니다.
contentType : json 이 부분은 서버에서 JSON데이터 받을 때 사용하면 됩니다. 서버에서 받을 필요가 없는 경우에는 사용하지 않아도되구요.

2. 여기서 data를 fData로 넘겨주는데 fData는 여러개를 serialize()를 통해서 한 줄로 가져오는 거잖아요?? 이거는 여러개긴 한데 한줄로 하나로 보내기 때문에 JSON.stringify가 필요 없는 건가요?? 그리고 컨트롤러에서도 @RequestBody 없이 받아도 잘 받아졌거든요. serialize()는 JSON이 아니기 때문에 @RequestBody가 필요 없는 건가요? => 이 부분은 잘 이해하시고 계십니다.

재생이 안되요

0

114

0

404 HTTP 상태 코드

0

164

2

lombok api 등록 후

0

176

2

UsernamePasswordAuthenticationToken 생성에 대해서 질문이 있습니다.

0

223

1

@RequestBody에 관해서 질문이요.

0

183

1

MVC06에 회원정보수정, 이미지등록수정 강의 영상이 없습니다

2

209

1

namespace 칸이 없습니다.

0

281

2

프로젝트 생성시 Srping MVC Project 없음

0

355

1

spring security 이후 Spring MVC06

0

223

1

Lomkob API 관련

0

203

1

깃허브 주소

0

265

1

포워딩오류? 인거 같습니다

0

338

1

css바꾸고 싶을때

0

307

1

git 연결할때 오류

0

265

1

프로젝트 생성시 Srping MVC Project 없음

0

1061

1

Oracle을 연결하고 싶은데, sql파일을 만들고나면...

0

282

1

프로젝트 생성시 Srping MVC Project 없음

0

4722

6

43강 age 0오류

0

299

1

Controller의 BoardMapper 쪽에서 문제가 있습니다.

0

382

1

Spring05 버전에서 이미지를 설정했을 때 권한이 보이지 않습니다

0

240

1

스프링 시큐리티 로그인 후 모달창 질문드립니다

0

626

0

아이디 중복확인 NullPointerException

0

362

2

새로고침해야만 등록한 글이 리스트에 뜹니다.

0

247

1

회원테이블과 권한테이블 간 관계

0

470

1