GET요청을 URI를 통해 했었는데요 개인정보가 들어가는 아이디, 패스워드, 번호 등과 같은 개인정보를 URI에 담을 수 있을까요? 절대 그렇게 해서는 안됩니다. 그렇다면 개인정보를 필요로 하는 등록 할 때 쓰이는 POST, 수정하는 PUT, 삭제하는 DELETE 사용 시 제대로 등록이 되고 수정이 되고 삭제가 됐는지 어디서 어떻게 확인을 해야 할까요?
postman
postman은 req.query, req.body, req.params를 확인할 수 있는 애플리케이션이며 GET, POST, PUT, DELETE 외에도 PATCH, HEAD, OPTIONS 같은 값도 확인이 가능합니다.
postman 시작하기
- Method 선택
- 확인할 주소 입력
- request 존으로 params, header, Auth, body 기타 등등 원하는 값을 입력
- 1~3까지 진행 후 send를 누르면 나오는 response 존, 결괏값을 확인 가능
Q. post 확인하려고 postman 사용해서 send를 했는데 console에서 undefined가 떠요
app.post("/test", (req, res) => {
//body에 숨겨져온 데이터 받아오기
console.log(req.body); // undefined
});
A. app.use로 미들웨어 설정을 했는지 확인해 주세요 그리고 body의 타입을 Text->JSON 형태로 변경을 해주세요
app.use(express.json());
postman ERROR
post 요청 시에 body에서 raw의 json 형태로 잘 적었는데 아래와 같은 에러가 났다면
SyntaxError: Unexpected token ' in JSON at position 7
at JSON.parse (<anonymous>)
at parse (c:\Users\first\Desktop\programmers\prac-2\node_modules\body-parser\lib\types\json.js:89:19)
at c:\Users\first\Desktop\programmers\prac-2\node_modules\body-parser\lib\read.js:128:18
at AsyncResource.runInAsyncScope (node:async_hooks:203:9)
at invokeCallback (c:\Users\first\Desktop\programmers\prac-2\node_modules\raw-body\index.js:231:16)
at done (c:\Users\first\Desktop\programmers\prac-2\node_modules\raw-body\index.js:220:7)
at IncomingMessage.onEnd (c:\Users\first\Desktop\programmers\prac-2\node_modules\raw-body\index.js:280:7)
at IncomingMessage.emit (node:events:513:28)
at endReadableNT (node:internal/streams/readable:1359:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
{
'chennelTitle' : '둥둥이',
'sub' : '0명',
'videoNum' : '0개'
}
위와 같이 작성하지 않았는지 확인해 보세요.
{
"chennelTitle" : "둥둥이",
"sub" : "0명",
"videoNum" : "0개"
}
JSON에서는 문자열을 따옴표(')를 사용하지 않고 큰따옴표(")로 표기하기 때문에 따옴표를 사용하여 에러가 난 것입니다. 이뿐만 아니라 마지막 데이터 끝에 쉼표(,)를 작성하는 것도 에러가 발생하니 참고해 주세요.
'프로그래밍📚 > node' 카테고리의 다른 글
백엔드에서의 예외 처리 (0) | 2023.12.13 |
---|---|
API 설계를 위한 팁 (0) | 2023.12.11 |
express-generator 알아보기 (0) | 2023.12.08 |
req.body, req.query, req.params (0) | 2023.12.07 |
응답을 통해 정보를 전달하자 - json (0) | 2023.12.06 |