Node, Mongo 및 Express를 사용한 Restful API 시작 설명서

안내서를 시작하기 전에 제 소개를 하겠습니다.저는 Hammad Hassan입니다. 전단(React) 개발자입니다.

선결 조건
JavaScript에 대해 기본적으로 알고 있고 NodeJS가 설치되어 있다고 가정해 보겠습니다.
  • 먼저 폴더를 만들고 실행해야 합니다.npm init 가방을 만듭니다.json 파일.

  • 이 설명서에 필요한 소프트웨어 패키지입니다.
    const express = require("express");
    const mongoose = require("mongoose");
    require("dotenv/config");
    const bodyParser = require("body-parser");
    
    
    따라서 다음 명령을 실행하여 이 패키지를 설치하기만 하면 됩니다npm i express mongoose dotenv body-parser nodemon
  • 이 패키지를 설치한 후 응용 프로그램을 만들어야 합니다.js 파일 (이름을 제시할 수 있습니다)
    다음 코드를 추가합니다.
  •     const express = require('express');
        const app = express();
        app.get("/", (req, res) => {
        res.send("Hello from Node js");
        })
        app.listen(3000);
    
    
    지금, 당신의 종점에 가서 달리기node app.js
  • 여기에서 우리expressserver 패키지를 가져와 app 변수에 저장합니다.
  • 그리고 app.get 방법은 리셋 함수의 두 번째 매개 변수로 우리의 노선을 간단하게 설명합니다. 이 매개 변수에서 우리는 브라우저에 인쇄하고자 하는 내용을 보냅니다.
  • app.listen(3000) 서버 응답을 원하는 포트를 알려 줍니다.3000이 아니라 마음대로 이름을 지을 수 있다.
  • 이제 브라우저를 열고http://localhost:3000url로 브라우저에서 "Hello from Nodejs"를 볼 수 있습니다.

  • GET 및 POST API 생성하기
    이제 NodeJS에서 서버를 실행하는 방법을 알게 되면 NodeJS에서 API를 만드는 방법을 살펴보겠습니다.우리는 GETPOST의 일부 무작위 데이터를 서버에 전송하는 API를 구축할 것이다.
    모델
  • 현재 루트 디렉터리에 models라는 새 폴더를 만들고 이 폴더에 Posts.js라는 새 파일을 만들고 다음 코드를 추가합니다.
  • const mongoose = require("mongoose");
    
    const PostSchema = mongoose.Schema({
      firstname: {
        type: String,
        required: true,
      },
      lastname: {
        type: String,
        required: true,
      },
    });
    
    module.exports = mongoose.model("Posts", PostSchema);
    
    
    
  • 우리의 첫 줄에mongoose를 가져오고 있습니다.
  • 그리고 우리는 PostSchema라는 방법을 만들었습니다. 이 방법에서 우리는 API의 모델(내용)을 분류하는 대상을 만들었습니다.
  • 이후에 우리는 간단하게 파일을 내보낼 뿐입니다. 그러면 다른 파일(구성 요소)에서도 이 PostSchema 방법을 사용할 수 있습니다.
  • 노선.
    이제 루트 디렉터리로 돌아가서 새 폴더 이름 routes 을 만들고, 이 폴더 이름 posts.js 에 새 파일을 만들고, 이 파일에 다음 코드를 추가합니다.
    const express = require("express");
    const router = express.Router();
    //importing model
    const Post = require("../models/Posts");
    
    //Get the posts
    router.get("/", async (req, res) => {
      try {
        const getPosts = await Post.find();
        res.json(getPosts);
      } catch (error) {
        res.json({ message: error });
      }
    });
    
    //Submit a post
    router.post("/", async (req, res) => {
      const newPost = new Post({
         firstname: req.body.firstname,
        lastname: req.body.lastname,
      });
    
      try {
        const savePost = await newPost.save();
        res.json(savePost);
      } catch (error) {
        res.json({ message: error });
      }
    });
    
    
  • 첫 번째 줄에서 express 서버를 가져옵니다.
  • 그리고 우리는expressserver에서 온 router 방법이 필요합니다. 그래서 두 번째 줄에 우리는 새로운 변수 이름router을 만들고 express.Router() 방법을 저장합니다.
  • 세 번째 줄에서 댓글을 가져오고 있습니다.js 파일, 이 파일에서 만든 API 모드에 접근해서 Post 상수에 저장할 수 있습니다.

  • 게시물 얻기: 그리고 router.get 방법을 설명합니다.이 방법 중에 우리는 두 개의 매개 변수가 있다.첫 번째는 API의 라우트를 지정하는 것이고, 두 번째는 req(요청) 및 res(응답) 매개변수를 사용하여 콜백을 선언하는 것입니다.
  • 이후에 우리는try/catch 문장을 성명할 것이다.
  • try 블록에서 우리는 자바스크립트find 방법으로 Post 모델(위에서 가져온 것)에서 모든 게시물을 가져와 json 형식으로 변환하여 getPosts 변수에 저장한다.
  • catch 블록에서 try 블록이 성공적으로 실행되지 않았을 때만 오류를 포착할 수 있습니다.
  • 새 게시물 제출: 저희 서버에 새 게시물을 제출하려면 router.post 방법을 사용합니다. 여기에 두 가지 파라미터를 수락합니다.첫 번째는 API의 라우트를 지정하는 것이고, 두 번째는 req(요청) 및 res(응답) 매개변수를 사용하여 콜백을 선언하는 것입니다.
  • 그리고 새 변수의 이름을 newPost로 만듭니다.이 예에서는 (Posts.js 폴더에 있는 models 파일에서 대상을 만들고 있는 실례입니다.
  • 이후에 우리는try/catch 문장을 성명할 것이다.
  • try 블록에서 자바스크립트save 방법으로 우리가 방금 설명한 newPost 변수에서 몬고 데이터베이스에 있는 새 댓글을 저장하고 json 형식으로 변환합니다.
  • catch 블록에서 try 블록이 성공적으로 실행되지 않았을 때만 오류를 포착할 수 있습니다.
  • 여기서는 GETPOST API 요청을 완료했습니다.이제 app.js 파일로 돌아가서 다음 코드 줄을 추가합니다.
    //Importing routes
    const postsRoute = require("./routes/posts");
    
    //Adding middleware
    app.use(bodyParser.json());
    app.use("/posts", postsRoute);
    
    //connect to DB
    mongoose.connect(process.env.DB_CONNECTION, { useNewUrlParser: true }, () => {
      console.log("Connected to DB");
    });
    app.listen(8080);
    
    
  • 여기서 루트 파일을 먼저 가져옵니다.
  • 그리고 우리는 middleware를 더한다.Amiddleware는 실제로 요청과 응답 대상에 접근할 수 있는 함수이다.
  • app.use(bodyParser.json());는 라우팅 요청이 실행되면 bodyParser가 실행된다는 의미입니다.
  • app.use("/posts", postsRoute);는 언제든지 POST 노선에서 이 중간부품이 호출된다는 것을 의미한다.
  • 그리고 서버를mongo DB에 연결합니다.이 화제는 좀 길어서 나는 여기서 토론하지 않았다.여기Link에 무료 계정을 만들어서 몬goDB를 방문할 수 있습니다.
  • 자, 시작합시다.우리는 이미 성공적으로 NodeJS에서 우리의 첫 번째 API를 만들었다.
    만약 네가 이 글을 좋아한다면, 가장 좋아하는 버튼을 눌러서, 그것에게 커다란 환호를 보내라❤

    좋은 웹페이지 즐겨찾기