Postman으로 GET, POST 테스트해보기
REST api에는 GET, POST, PUT, DELETE 등 여러 종류가 있고, 종류마다 역할이 다르다.
지금까지는 서버로부터 데이터를 조회하여 받아오는 작업인 GET만 사용하고 테스트해보았는데,
서버로 데이터의 생성을 요청하는 작업인 POST를 사용해보자.
const express = require("express");
const app = express();
const port = 3000;
// GET
app.get("/get-test", function (req, res) {
res.send("Hello GET!");
});
// POST
app.post("/post-test", function (req, res) {
res.send("Hello POST!");
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
/get-test에는 GET 요청을, /post-test에는 POST 요청을 처리하도록 코드를 작성하였다.
localhost:3000/get-test에 접속하면 Hello GET!이라는 문구가 잘 출력되는 것을 볼 수 있지만,
localhost:3000/post-test에 접속하면 Cannot GET / post-test라는 문구가 나오며 POST 명령이 실행되지 않는다.
웹브라우저에서 url로 접근하는 행위는 GET 요청이기 때문에 웹브라우저에서는 GET 요청만 테스트해볼 수 있고, POST 등의 다른 요청은 처리할 수 없기 때문이다.
POST 요청을 테스트해보기 위해 Postman을 사용하여 보자.
Postman: The World's Leading API Platform | Sign Up for Free
Accelerate API development with Postman's all-in-one platform. Streamline collaboration and simplify the API lifecycle for faster, better results. Learn more.
www.postman.com
Postman은 API를 테스트하기 위해 사용되는 가장 대중적인 API 플랫폼이다.
웹에서도 간단하게 테스트를 할 수 있고, 애플리케이션을 설치하여 테스트를 진행할 수도 있다.
애플리케이션을 실행해보면 Untitled Requres가 열리며 여러 가지 설정을 할 수 있는 창이 나온다.
먼저 url란에 localhost:3000/get-test를 입력하여 GET 요청을 테스트해보자.
하단의 Body에 Hello GET! 이라는 GET 요청이 성공적으로 처리된 것을 볼 수 있다.
이어서 url 옆의 GET 버튼을 눌러 요청을 POST로 바꾸고, localhost:3000/post-test를 입력하여 테스트를 진행해보자.
Hello POST!가 출력되며 POST 요청이 성공적으로 처리된 모습을 볼 수 있다.
이와 같이 웹브라우저에서는 테스트할 수 없었던 POST 등의 요청들도 Postman에서 손쉽게 테스트할 수 있다.
이제 이를 응용하여, 사용자의 이름을 추가하는 요청을 처리하도록 구현해보자.
const express = require("express");
const app = express();
const port = 3000;
const people = [];
people.push("Tom");
// GET
app.get("/get-people", function (req, res) {
res.send(people);
});
// POST
app.use(express.json());
app.post("/add-person", function (req, res) {
const name = req.body.name;
people.push(name);
res.send(`Add name ${name}!`);
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
people이라는 배열을 만들어 사람들의 이름을 관리하고, get-people GET 요청을 통해 이를 받아오도록 해보자.
그리고 add-person POST 요청을 통해 name을 입력하면 people배열에 이를 추가하도록 할 것이다.
먼저 get-people GET 요청을 보냈을 때, 배열 내에 "Tom" 한 명만 들어있는 모습을 볼 수 있다.
이어서 add-person POST 요청을 통해 "James"를 추가해보자.
Postman에서 Body에 raw를 선택한 후, JSON 형식으로 { "name": "James" } 를 함께 요청을 한다.
여기서 주의할 점은 서버에서 JSON 형식으로 보내지는 것을 이해할 수 있도록
app.use(express.json()); 을 반드시 추가해주어야 한다는 것이다.
성공적으로 요청이 처리되면, Add name James!라는 문구가 출력된다.
다시 돌아와 get-people GET 요청을 보내면 people 배열에 James가 추가된 것을 확인할 수 있다!