13. express와 POST메소드 (Postman)

JSLEE·2024년 4월 29일

GET메소드를 이용하기 위해서는, 웹브라우저의 URL을 이용하면 됐었다.
하지만, POST(등록) 메소드는 기본 웹브라우저의 URL을 통해 request 하는 것이 불가능하다.

조사해본 결과, Javascript에서 ajax + jquery, fetch, XMLHttpRequest 등을 이용해서 각종 http 메소드를 구현할 수 있다고 한다. 그 전에, 우리는 간단하게 POST 요청을 테스트해볼 수 있게 해주는 플랫폼인 Postman 을 이용해본다.

구글에 Postman을 검색하면 공식 홈페이지를 쉽게 찾을 수 있다.
Postman Desktop 버전으로 설치를 완료하고 로그인하면 다음과 같은 화면을 볼 수 있다.

Postman에서 수행할 수 있는 다양한 기능들에 대해서 설명이 나와 있다.
우리는 상단의 Workspaces를 클릭하여 Workspace에 진입한다.
상단의 + 버튼을 클릭하여 Request를 작성하는 창을 열 수 있다.

POST 메소드를 수행하기 앞서서, express 모듈의 .post메소드를 이용해서 서버에서 어떻게 post를 요청받고 응답할지에 대해 작성해야한다.

app.use(express.json())
app.post('/', (req, res) =>{
  res.json(req.body)
})

post 메소드는 body에 주요 데이터들의 값들이 담겨있으므로, req.body 를 이용해 데이터값을 얻는다.
그 전에 json형태의 데이터를 파싱해주는 미들웨어를 사용하겠다는 app.use(express.json()) 문장이 필요하다. 이 코드를 통해 req.body의 데이터값을 json 형태로 올바르게 받을 수 있게 된다.

위 코드의 동작은 다음과 같다.
POST request 의 body 부분의 json 데이터를, respond해서 그대로 클라이언트측으로 보내주는 것이다.
Postman을 통해 연습을 해보자.

POST request 메시지의 Body 부분에 데이터값을 작성해야 하므로,
Body 옵션을 선택하고, raw 형태의 데이터를 선택한다.
그리고
{"message" : "안녕하세요"} 라는 json 형식의 데이터를 보내보면,
Postman의 하단에는 똑같은 데이터를 정상적으로 respond 받은 것을 확인할 수 있다.

서버측에서 이렇게 POST 요청받은 데이터를 가공해서 이용하려면
마찬가지로 key값을 이용해 value를 추출해서 사용하면 된다.

profile
공부한 내용들을 정리하기 위해 사용하는 블로그입니다.

0개의 댓글