본문 바로가기

[Express + Node]

[Express] GET 메서드를 사용한 API 개발

728x90

[Express] 백엔드 개발 기본 설정

 

[Express] 백엔드 개발 기본 설정

🚩소개안녕하세요! 대학생 개발자 주이어입니다. 오늘은 Node와 Express를 사용하여 서버를 개발할 때 필요한 라이브러리 다운 및 기본 설정에 대해서 알려드릴려고 합니다. 참고로 오늘 알려드리

juyear-coding.tistory.com

이전 글 보러가기

🚩소개

안녕하세요! 대학생 개발자 주이어입니다! 오늘은 Express를 사용하여 GET 요청 API 기능을 만드는 법에 대해서 적어보려 합니다! 서버 API 개발의 가장 기본인 GET과 POST 중 하나이니 이 글을 읽는 분들은 GET에 대해서 정확히 알고 가셨으면 좋겠습니다!


GET이란?

REST API에는 주로 다음 네가지 HTTP 매서드가 사용된다.

  • GET: 데이터 조회
  • POST: 데이터 생성
  • PUT: 데이터 수정
  • DELETE: 데이터 삭제

이번 글에서는 이 중 GET 메서드를 사용하여 데이터를 조회하는 방법에 대해서 알아보려고 한다.


❗GET 구현 예시

app.get("/userdata", (req, res) => {
  db.query("SELECT * FROM user_info", (err, results) => {
    if (err) {
      res.status(500).json({ error: "DB 조회 실패" });
    } else {
      res.json(results);
    }
  });
});
  • app은 express 인스턴스이다.
  • db는 mysql2 라이브러리를 이용해 연결된 MySQL 데이터베이스 객체이다.

Express에서는 app.get() 메서드를 사용해 GET 요청을 처리할 수 있다. 첫 번째 인자로는 요청받을 URL 경로를, 두 번째 인자로는 콜백 함수를 넣는다. 이 콜백 함수에는 req(요청 객체)와 res(응답 객체)가 들어온다.

 

이 예시에서는 MySQL 쿼리 "SELECT * FROM user_info"를 사용해 전체 데이터를 가져온 후, res.json()을 통해 클라이언트에 JSON 형식으로 응답을 보내고 있다. 만약 쿼리 중 에러가 발생하면 500 상태 코드와 함께 에러 메시지를 반환한다.


req 객체 예시

app.get("/hello", (req, res) => {
  console.log(req.url);         // 요청된 URL 출력
  console.log(req.query.name);  // 예: /hello?name=준현

  res.send("안녕하세요!");       // 클라이언트에 문자열 응답
});

req 객체는 클라이언트가 서버에 보낸 요청 정보를 담고 있다.
예를 들어 위 코드처럼 req.query를 사용하면 URL에 포함된 쿼리 파라미터를 쉽게 가져올 수 있다. 이를 활용하면 요청에 따라 다른 결과를 반환하는 유동적인 API를 만들 수 있다.


😊 마무리

  • GET 메서드는 서버에서 클라이언트로 데이터를 조회할 때 사용한다.
  • Express에서는 app.get()을 사용하여 GET 요청을 처리한다.
  • req 객체를 통해 클라이언트가 보낸 요청 정보를 활용할 수 있다.
  • MySQL의 db.query()를 통해 DB와 연동된 응답도 쉽게 구현할 수 있다.

지금까지 GET 메서드를 사용한 API 개발 방법에 대해서 적어보았습니다! 그렇게 어렵진 않지만, 나중에 대규모 프로젝트를 만들거나 복잡한 API를 개발을 하실 경우 기본 하나하나가 중요하니 많이 연습해보시면 좋을 것 같습니다!

 

다음에는 POST 요청에 대해서 간단하게 설명해보려고 합니다! 그럼 지금까지 읽어주셔서 감사합니다!

728x90