인프런 커뮤니티 질문&답변

fdsa09876님의 프로필 이미지
fdsa09876

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

axios에 대한 질문입니다.

작성

·

468

0

안녕하세요 강사님

3강 POST, PUT, DELETE 요청 보내기 부분입니다. axios에 대한 질문입니다.

1)

return req.on('end', () => {
          console.log('POST 본문(Body):', body);
          const { name } = JSON.parse(body);
          const id = Date.now();
          users[id] = name;
          res.writeHead(201, { 'Content-Type': 'text/plain; charset=utf-8' });
          res.end('ok');
       });

콘솔에 출력되는 것을 보니

POST 본문(Body): {"name":"asd"}

맨처음에는 객체인줄 알았는데 뒤에 parse 코드를 보고 json 형식 같다고 생각했습니다.

restFront에서  등록 시 코드인데

await axios.post('/user',  {name});

axios는 객체를 json으로 자동 변환한다고 알고 있는데 {}은 객체를 의미하는 것이 아니라 구조할당문법을 말하는 것 아닌가요? 그러면 실제로는 {name:name} (객체)이 아니라 name:name으로 전달되어야 하는거 아닌가요??

{name}이 어떻게 {name:name} 형태로 전달됐는지 궁금합니다.

2) 

restFront.js

 const users = res.data;

axios는 json의 형태로 알고 있는데 보낼때는 stringfy를 사용했는데 data를 받을 때는 왜 parse를 사용하지 않는지 궁금합니다. 

두 질문이 이해가 되시게끔 잘 설명했는지 모르겠습니다. axios에 대한 이해가 부족한데 도움 주시면 감사하겠습니다.

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. { name }이랑 { name: name }이랑 같은겁니다. 그리고 json 객체랑 js 객체랑 일반적으로 같습니다.

2. axios는 알아서 json이라고 판단되는 문자열을 js 객체로 바꿔줍니다.

0

fdsa09876님의 프로필 이미지
fdsa09876
질문자

쉬었다가 생각해보니 잘 됐습니다. 감사합니다.

fdsa09876님의 프로필 이미지
fdsa09876

작성한 질문수

질문하기