Node.js 로 사용자 관리 RESTful API 구축하기

JavaScriptBeginner
지금 연습하기

소개

이 프로젝트에서는 Node.js 와 Express.js 를 사용하여 RESTful API 를 개발하는 방법을 배우게 됩니다. 이 프로젝트는 사용자 목록을 검색할 수 있는 간단한 사용자 관리 시스템을 만드는 것을 포함합니다.

👀 미리보기

curl http://localhost:8080/list
## Output:
## {"userlist":[{"id":"1","username":"zhangsan","password":"123456"},{"id":"2","username":"lilei","password":"456"},{"id":"3","username":"hanmeimei","password":"123"}]}

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다.

  • Node.js 프로젝트를 설정하고 종속성을 설치하는 방법
  • 기본적인 Express.js 서버를 만드는 방법
  • JSON 파일에서 사용자 목록을 검색하는 GET 엔드포인트를 구현하는 방법
  • cURL 을 사용하여 API 를 테스트하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다.

  • RESTful API 개발의 기본 사항 이해
  • Node.js 프로젝트를 설정하고 필요한 종속성 설치
  • 간단한 Express.js 서버 생성
  • JSON 파일에서 데이터를 검색하는 GET 엔드포인트 구현
  • cURL 을 사용하여 API 테스트

프로젝트 설정

이 단계에서는 프로젝트를 설정하고 필요한 종속성을 설치합니다.

이 질문에 대한 초기 코드는 이미 제공되었습니다. 코딩 환경을 열면 디렉토리 구조는 다음과 같습니다.

├── index.js
├── users.json
├── package.json
├── package-lock.json

다음으로, 터미널에서 npm install 명령을 사용하여 종속성을 다운로드하고, 종속성 다운로드가 완료될 때까지 기다린 다음 npm run dev 명령을 사용하여 프로젝트를 시작합니다.

✨ 솔루션 확인 및 연습

GET /list 엔드포인트 구현

이 단계에서는 사용자 목록을 표시하기 위해 GET /list 엔드포인트를 구현합니다.

  1. 프로젝트 디렉토리에서 index.js 파일을 엽니다.
  2. 파일에서 TODO 섹션을 찾아 다음 코드를 추가하여 GET /list 엔드포인트를 구현합니다.
//TODO
app.get("/list", function (req, res) {
  fs.readFile(
    path.resolve(__dirname, "./users.json"),
    "utf8",
    function (err, data) {
      data = JSON.parse(data);
      res.json(data);
    }
  );
});

이 코드는 users.json 파일을 읽고, JSON 데이터를 파싱하여 응답으로 보냅니다.

  1. index.js 파일을 저장합니다.
✨ 솔루션 확인 및 연습

GET /list 엔드포인트 테스트

이 단계에서는 GET /list 엔드포인트가 올바르게 작동하는지 테스트합니다.

  1. 랩 환경에서 새 터미널을 엽니다.
  2. curl 명령을 사용하여 /list 엔드포인트에 GET 요청을 보냅니다.
curl http://localhost:8080/list

users.json 파일의 JSON 데이터인 다음 출력을 볼 수 있습니다.

{"userlist":[{"id":"1","username":"zhangsan","password":"123456"},{"id":"2","username":"lilei","password":"456"},{"id":"3","username":"hanmeimei","password":"123"}]}

이 출력이 표시되면 GET /list 엔드포인트가 올바르게 작동하는 것입니다.

축하합니다! 프로젝트를 완료하고 사용자 목록을 표시하는 GET /list 엔드포인트를 구현했습니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.