Node, Mongo 및 Express를 사용한 Restful API 시작 설명서
선결 조건
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
다음 코드를 추가합니다.
const express = require('express');
const app = express();
app.get("/", (req, res) => {
res.send("Hello from Node js");
})
app.listen(3000);
지금, 당신의 종점에 가서 달리기node app.js
app
변수에 저장합니다.app.get
방법은 리셋 함수의 두 번째 매개 변수로 우리의 노선을 간단하게 설명합니다. 이 매개 변수에서 우리는 브라우저에 인쇄하고자 하는 내용을 보냅니다.app.listen(3000)
서버 응답을 원하는 포트를 알려 줍니다.3000이 아니라 마음대로 이름을 지을 수 있다.http://localhost:3000
url로 브라우저에서 "Hello from Nodejs"를 볼 수 있습니다.GET 및 POST API 생성하기
이제 NodeJS에서 서버를 실행하는 방법을 알게 되면 NodeJS에서 API를 만드는 방법을 살펴보겠습니다.우리는
GET
와 POST
의 일부 무작위 데이터를 서버에 전송하는 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);
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
서버를 가져옵니다.router
방법이 필요합니다. 그래서 두 번째 줄에 우리는 새로운 변수 이름router
을 만들고 express.Router()
방법을 저장합니다.Post
상수에 저장할 수 있습니다.게시물 얻기: 그리고
router.get
방법을 설명합니다.이 방법 중에 우리는 두 개의 매개 변수가 있다.첫 번째는 API의 라우트를 지정하는 것이고, 두 번째는 req
(요청) 및 res
(응답) 매개변수를 사용하여 콜백을 선언하는 것입니다.try
블록에서 우리는 자바스크립트find
방법으로 Post
모델(위에서 가져온 것)에서 모든 게시물을 가져와 json 형식으로 변환하여 getPosts
변수에 저장한다.catch
블록에서 try
블록이 성공적으로 실행되지 않았을 때만 오류를 포착할 수 있습니다.router.post
방법을 사용합니다. 여기에 두 가지 파라미터를 수락합니다.첫 번째는 API의 라우트를 지정하는 것이고, 두 번째는 req
(요청) 및 res
(응답) 매개변수를 사용하여 콜백을 선언하는 것입니다.Posts.js
폴더에 있는 models
파일에서 대상을 만들고 있는 실례입니다.try
블록에서 자바스크립트save
방법으로 우리가 방금 설명한 newPost
변수에서 몬고 데이터베이스에 있는 새 댓글을 저장하고 json 형식으로 변환합니다.catch
블록에서 try
블록이 성공적으로 실행되지 않았을 때만 오류를 포착할 수 있습니다.GET
및 POST
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 노선에서 이 중간부품이 호출된다는 것을 의미한다.만약 네가 이 글을 좋아한다면, 가장 좋아하는 버튼을 눌러서, 그것에게 커다란 환호를 보내라❤
Reference
이 문제에 관하여(Node, Mongo 및 Express를 사용한 Restful API 시작 설명서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hmadhsan/getting-started-guide-for-restful-api-using-node-mongo-express-1gg6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)