Express, Node 및 MongoDB를 사용하여 기본 API 구축
17584 단어 expressnodemongodbjavascript
1. MongoDB Setup
2. Packages
3. Creating the Server
4. Models
5. Routes
MongoDB 설정
여러 가지 방법으로 MongoDB 데이터베이스를 만들어 응용 프로그램에 연결할 수 있습니다.주요 방법 중 하나는 MongoDB를 직접 다운로드하여 자신의 기계에 서버를 만드는 것이다.많은 개발자들이 이렇게 하지만 이 프로젝트를 위해 우리는 mongoDB Atlas 을 사용할 것이다. 왜냐하면 이것은 신속하고 간단한 운행 방식이기 때문이다.시작하려면 로그인하거나 무료 계정을 만드는 것이 좋습니다.
로그인한 후 새 항목 버튼을 클릭하여 새 항목을 만듭니다.항목 이름을 입력하고 [다음] 버튼을 클릭한 다음 다음 화면에서 [프로젝트 만들기] 버튼을 클릭합니다.다음에 프로젝트를 위한 그룹을 구축해야 합니다. 방법은'집단 구축'단추를 누르고 무료 공유 그룹 옵션을 선택하는 것입니다.우리가 해야 할 마지막 일은 제공된 옵션 중에서 클라우드 공급자와 서버 위치를 선택하는 것이다.개인적으로 제가 AWS를 선택한 이유는 서버가 제 위치에서 가장 가깝기 때문입니다. 하지만 이 부분은 제 개인적인 취향에 달려 있습니다.다른 부분은 변경할 필요가 없지만, 원한다면 그룹 이름을 변경할 수도 있습니다.모든 것이 만족스러울 때,'집단 만들기'단추를 누르고 집단을 구축할 때 기다리십시오.1-3분이 걸릴 수 있습니다. 시간이 좀 걸리면 기다려 주십시오.
우리가 서버를 구축하기 전에, 우리는 다음 절을 사용하지 않을 것입니다. 따라서 귀하는 즉시 정보를 얻고 그것을 필요로 하거나, 서버에서 시작한 후에 이 절을 되돌릴 수 있습니다.어떤 방식이든지 간에 우리는 현재 응용 프로그램을 새로 만든 데이터베이스 집단에 연결하는 데 필요한 것을 얻어야 한다.
클러스터로 이동하여 접속 을 클릭합니다.여기서 IP 주소를 추가해야 합니다(작업 중인 시스템만 사용하면 현재 IP가 정상적으로 작동할 수 있습니다). 사용자를 만들면 다음 단계에서 이 사용자를 사용하여 연결합니다.'연결 방법 선택'을 누르면 이 프로젝트에 대해 "당신의 응용 프로그램 연결"을 선택하겠습니다.선택하지 않은 경우 노드를 선택합니다.js는 드라이버로 연결 문자열을 복사합니다.이것은 우리가 서버에서 데이터베이스를 연결하는 데 사용할 내용이다.그것은 이렇게 보일 것이다.
포장
다음은 우리가 사용할 소프트웨어 패키지를 간단하게 소개하고 싶습니다.첫 번째는 분명히 express
노드에 사용되는 가벼운 웹 프레임워크이다.우리는 js를 사용하여 백엔드 서버를 구축하는 데 도움을 줄 것이다.우리는 또한 cors
, dotenv
, mongoose
, nodemon
및 cors
을 사용할 것이다.dotenv
는 서버에서 서버 이외의 자원에 접근할 수 있도록 원본 자원 공유를 대표한다..env
데이터베이스 사용자 이름과 암호와 같은 민감한 변수를 저장하기 위해 mongoose
파일을 사용할 수 있습니다.nodemon
노드에서 MongoDB와 상호 작용할 수 있습니다.js는 우리에게 더 간단하다.마지막으로 package.json
파일을 변경할 때 자동으로 서버를 다시 시작합니다.
이제 우리는 모든 것을 잘 설정할 수 있는 빠른 개술이 생겼다.루트 백엔드 폴더로 이동하여 npm init -y
파일을 만듭니다.
다음은 npm install express cors mongoose dotenv
설치 의존항을 사용합니다.마지막으로 nodemon
글로벌 설치sudo npm install -g nodemon
를 사용합니다.
이제 서버 구축을 시작할 수 있습니다!
서버 만들기
우리가 해야 할 첫 번째 일은 server.js
파일을 만들고 우리가 사용할 파일을 만드는 것이다.여기에는 dotenv
파일에 접근할 수 있도록 설정된 코드도 포함되어 있습니다.
// Require packages
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
// Configure dotenv
require('dotenv').config();
다음은 .env
변수를 express()
변수에 분배함으로써 서버를 만들고 app
변수를 만들 것입니다. 잠시 후에 이 변수를 port
변수에 전달해서 응용 프로그램이 어떤 포트를 감청해야 하는지 알려 드리겠습니다.
// Middleware
app.use(cors());
app.use(express.json());
여기에서, 우리는 단지 응용 프로그램 listen()
이 우리가 원하는 중간부품을 알려줄 뿐이다.
// Connect to mongoDB server
const uri = process.env.ATLAS_URI;
mongoose.connect(uri, {useNewUrlParser: true, useCreateIndex:true, useUnifiedTopology: true});
const connection = mongoose.connection;
connection.once('open', () => {
console.log("MongoDB database connection established successfully");
})
이 코드는 서버를 MomgoDB Atlas 데이터베이스에 연결합니다.use
변수는 uri
파일에서 그룹을 설정할 때 얻은 연결 문자열을 불러옵니다.우리는 이를 일부 대상 표지판과 함께 몬코스의 .env
함수에 전달한다.(로고는 감가상각 문제를 처리하는 데 사용됩니다.) 마지막으로, 연결이 열릴 때 이 로그가 정상적으로 작동하는지 알 수 있도록 컨트롤러 로그만 있습니다.
// Require and use Route files
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
여기에서 우리는 우리의 공유기 파일을 필요로 하고 사용한다.파일을 만들기 전에 이 내용을 포함하면 오류가 발생하기 때문에 필요할 때까지 주석을 달아야 할 수도 있습니다.이것이 바로 우리가 서버에 루트를 포함하는 방식이라는 것을 알기만 하면 된다.다음 모드를 따를 수 있습니다.connect
그리고const <model-name>Router = require(<file-path>);
// Server listen
app.listen(port, () => {
console.log(`Server is running on port: ${port}`);
})
우리가 해야 할 마지막 일은 app.use(<model-root-path>, <router-variable>);
변수를 port
로 전달함으로써 서버에 어느 포트를 정탐해야 하는지 알려주는 것이다.여기에는 서버가 어느 포트에서 실행되고 있는지 알려주는 컨트롤러 로그도 포함되어 있습니다.
모델
우리의 모델을 만드는 것은 상당히 간단하다.MongoDB는 문서나 noSQL 데이터베이스이기 때문에 우리의 예시app.listen()
모델의 모든 실례는 json과 유사한 문서로 저장됩니다.이 모델을 만들기 위해 User
폴더를 추가합니다. 이 폴더에 models
파일을 만들 것입니다.이것이 바로 우리가 데이터베이스 모델을 위해 모델을 작성하는 곳이다.이것은 상대적으로 간단하기 때문에 나는 아래에 나의 코드를 발표한 후에 해석할 것이다.
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
username: {
type: String,
required: true,
unique: true,
trim: true,
minlength: 3
}
}, {
timestamps: true
})
const User = mongoose.model('User', userSchema);
module.exports = User;
그래서 우선 user.model.js
변수를 만들고 mongoose
변수를 만들어야 합니다.그리고 우리는 새로운 변수 Schema
를 성명합니다. 그것은 새로운 변수 userSchema
이며, 대상을 전달합니다.
이 대상의 관건은 우리가 모델의 속성을 원하는 것이다.이런 상황에서 우리는 단지 우리의 사용자가 간단한 일을 유지하기 위해 사용자 이름을 가지고 있기를 바란다.각 키의 값은 다른 대상입니다. 속성에 대한 검증을 지정합니다.보시다시피 우리는 우리의 Schema
유형이 username
유형이고 필요하며 유일하기를 바랍니다. 여분의 공백을 잘라내고 최소 길이는 3입니다.우리는 또한 두 번째 대상을 전송하는데, 이 대상은 우리가 모델링할 대상도 시간 스탬프를 가지고 있다고 지정한다.MongoDB도 자동으로 색인을 추가합니다.
마지막으로, 우리는 모든 내용을 변수로 묶어서 내보냅니다.
노선
Homestretch, 우리는 곧 도착할 거야!우리가 해야 할 마지막 일은 우리의 API를 위한 루트를 만드는 것이다.새 String
폴더를 만들고 그 중 routes
파일을 만들어서 사용할 수 있습니다.
const router = require('express').Router();
let User = require('../models/user.model');
우리가 파일에서 해야 할 첫 번째 일은 expressrouter와 users.js
모델 파일이 필요하다는 것이다.
router.route('/').get((req, res) => {
User.find()
.then(users => res.json(users))
.catch(err => res.status(400).json(`Error: ${err}`))
});
이것은 서버가 user
요청을 받았을 때 /users/
루트의 코드입니다.만약 성공한다면, 이것은 모든 사용자의 목록을 간단하게 되돌려주거나, 오류 코드와 메시지를 되돌려줍니다.원하는 기능을 포함하여 쉽게 편집할 수 있습니다.
이곳의 기본 모델은 GET
에서 호출route
을 하고 필요한 경로를 통과하는 것이다.그리고 우리가 처리하고자 하는 모든 요청 (이 예에서 router
을 링크하고 GET
과 request
을 매개 변수로 하는 함수를 전송합니다.서버에서 받은 요청과 이후에 보낼 수 있는 응답에 대응합니다.
우리는 response
모델에서 find()
방법을 사용하여 데이터베이스에 있는 모든 사용자를 찾습니다.이것은 우리가 처리한 약속User
과 .then()
으로 되돌아갈 것이다.만약 성공한다면, 우리는 응답을 json 형식의 사용자 목록으로 설정할 것입니다.만약 없다면, 우리는 응답을 중계 오류 코드와 메시지로 설정할 것입니다.
module.exports = router;
마지막으로, 우리는 라우팅을 서버 파일에 연결하기 위해 내보냅니다.내가 말한 그 부분은 우리가 서류를 작성하기 전에 통하지 않았다는 것을 기억하십니까?그렇습니다.
위의 루트 선언 모드를 사용하면 서로 다른 요청 유형과 루트에 더 많은 루트를 쉽게 포함할 수 있습니다.이것은 사용자의 .catch()
요청을 추가하는 예입니다.
router.route('/add').post((req, res) => {
const username = req.body.username;
const newUser = new User({username});
newUser.save()
.then(() => res.json('User added!'))
.catch(err => res.status(400).json(`Error: ${err}`))
});
결론
그게 다야.나는 이 안내서가 내가 일반적으로 발표하는 것보다 좀 길고 틀림없이 많은 정보가 있을 것이라는 것을 알고 있지만, 만약 당신이 다른 창고나 프레임워크를 이용하여 백엔드 API를 구축하는 것에 익숙하다면, 이 안내서의 많은 내용은 좀 익숙해 보일 것이다.
이것은 당연히 매우 간단한 개술이지만, 위에서 설명한 모델을 사용하여 더욱 의미 있는 API로 확장하는 방법을 볼 수 있을 것이라고 믿습니다. 이 API를 사용하여 데이터를 전방 React 프로젝트에 서비스할 수 있습니다.나는 네가 새로운 것을 배웠으면 좋겠어!
만약 당신이 이 글을 좋아한다면, 언제든지 나의 다른 곳Github, 또는.즐거운 인코딩!
Reference
이 문제에 관하여(Express, Node 및 MongoDB를 사용하여 기본 API 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kjdowns/building-a-basic-api-using-express-node-and-mongodb-160f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음은 우리가 사용할 소프트웨어 패키지를 간단하게 소개하고 싶습니다.첫 번째는 분명히
express
노드에 사용되는 가벼운 웹 프레임워크이다.우리는 js를 사용하여 백엔드 서버를 구축하는 데 도움을 줄 것이다.우리는 또한 cors
, dotenv
, mongoose
, nodemon
및 cors
을 사용할 것이다.dotenv
는 서버에서 서버 이외의 자원에 접근할 수 있도록 원본 자원 공유를 대표한다..env
데이터베이스 사용자 이름과 암호와 같은 민감한 변수를 저장하기 위해 mongoose
파일을 사용할 수 있습니다.nodemon
노드에서 MongoDB와 상호 작용할 수 있습니다.js는 우리에게 더 간단하다.마지막으로 package.json
파일을 변경할 때 자동으로 서버를 다시 시작합니다.이제 우리는 모든 것을 잘 설정할 수 있는 빠른 개술이 생겼다.루트 백엔드 폴더로 이동하여
npm init -y
파일을 만듭니다.다음은
npm install express cors mongoose dotenv
설치 의존항을 사용합니다.마지막으로 nodemon
글로벌 설치sudo npm install -g nodemon
를 사용합니다.이제 서버 구축을 시작할 수 있습니다!
서버 만들기
우리가 해야 할 첫 번째 일은 server.js
파일을 만들고 우리가 사용할 파일을 만드는 것이다.여기에는 dotenv
파일에 접근할 수 있도록 설정된 코드도 포함되어 있습니다.
// Require packages
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
// Configure dotenv
require('dotenv').config();
다음은 .env
변수를 express()
변수에 분배함으로써 서버를 만들고 app
변수를 만들 것입니다. 잠시 후에 이 변수를 port
변수에 전달해서 응용 프로그램이 어떤 포트를 감청해야 하는지 알려 드리겠습니다.
// Middleware
app.use(cors());
app.use(express.json());
여기에서, 우리는 단지 응용 프로그램 listen()
이 우리가 원하는 중간부품을 알려줄 뿐이다.
// Connect to mongoDB server
const uri = process.env.ATLAS_URI;
mongoose.connect(uri, {useNewUrlParser: true, useCreateIndex:true, useUnifiedTopology: true});
const connection = mongoose.connection;
connection.once('open', () => {
console.log("MongoDB database connection established successfully");
})
이 코드는 서버를 MomgoDB Atlas 데이터베이스에 연결합니다.use
변수는 uri
파일에서 그룹을 설정할 때 얻은 연결 문자열을 불러옵니다.우리는 이를 일부 대상 표지판과 함께 몬코스의 .env
함수에 전달한다.(로고는 감가상각 문제를 처리하는 데 사용됩니다.) 마지막으로, 연결이 열릴 때 이 로그가 정상적으로 작동하는지 알 수 있도록 컨트롤러 로그만 있습니다.
// Require and use Route files
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
여기에서 우리는 우리의 공유기 파일을 필요로 하고 사용한다.파일을 만들기 전에 이 내용을 포함하면 오류가 발생하기 때문에 필요할 때까지 주석을 달아야 할 수도 있습니다.이것이 바로 우리가 서버에 루트를 포함하는 방식이라는 것을 알기만 하면 된다.다음 모드를 따를 수 있습니다.connect
그리고const <model-name>Router = require(<file-path>);
// Server listen
app.listen(port, () => {
console.log(`Server is running on port: ${port}`);
})
우리가 해야 할 마지막 일은 app.use(<model-root-path>, <router-variable>);
변수를 port
로 전달함으로써 서버에 어느 포트를 정탐해야 하는지 알려주는 것이다.여기에는 서버가 어느 포트에서 실행되고 있는지 알려주는 컨트롤러 로그도 포함되어 있습니다.
모델
우리의 모델을 만드는 것은 상당히 간단하다.MongoDB는 문서나 noSQL 데이터베이스이기 때문에 우리의 예시app.listen()
모델의 모든 실례는 json과 유사한 문서로 저장됩니다.이 모델을 만들기 위해 User
폴더를 추가합니다. 이 폴더에 models
파일을 만들 것입니다.이것이 바로 우리가 데이터베이스 모델을 위해 모델을 작성하는 곳이다.이것은 상대적으로 간단하기 때문에 나는 아래에 나의 코드를 발표한 후에 해석할 것이다.
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
username: {
type: String,
required: true,
unique: true,
trim: true,
minlength: 3
}
}, {
timestamps: true
})
const User = mongoose.model('User', userSchema);
module.exports = User;
그래서 우선 user.model.js
변수를 만들고 mongoose
변수를 만들어야 합니다.그리고 우리는 새로운 변수 Schema
를 성명합니다. 그것은 새로운 변수 userSchema
이며, 대상을 전달합니다.
이 대상의 관건은 우리가 모델의 속성을 원하는 것이다.이런 상황에서 우리는 단지 우리의 사용자가 간단한 일을 유지하기 위해 사용자 이름을 가지고 있기를 바란다.각 키의 값은 다른 대상입니다. 속성에 대한 검증을 지정합니다.보시다시피 우리는 우리의 Schema
유형이 username
유형이고 필요하며 유일하기를 바랍니다. 여분의 공백을 잘라내고 최소 길이는 3입니다.우리는 또한 두 번째 대상을 전송하는데, 이 대상은 우리가 모델링할 대상도 시간 스탬프를 가지고 있다고 지정한다.MongoDB도 자동으로 색인을 추가합니다.
마지막으로, 우리는 모든 내용을 변수로 묶어서 내보냅니다.
노선
Homestretch, 우리는 곧 도착할 거야!우리가 해야 할 마지막 일은 우리의 API를 위한 루트를 만드는 것이다.새 String
폴더를 만들고 그 중 routes
파일을 만들어서 사용할 수 있습니다.
const router = require('express').Router();
let User = require('../models/user.model');
우리가 파일에서 해야 할 첫 번째 일은 expressrouter와 users.js
모델 파일이 필요하다는 것이다.
router.route('/').get((req, res) => {
User.find()
.then(users => res.json(users))
.catch(err => res.status(400).json(`Error: ${err}`))
});
이것은 서버가 user
요청을 받았을 때 /users/
루트의 코드입니다.만약 성공한다면, 이것은 모든 사용자의 목록을 간단하게 되돌려주거나, 오류 코드와 메시지를 되돌려줍니다.원하는 기능을 포함하여 쉽게 편집할 수 있습니다.
이곳의 기본 모델은 GET
에서 호출route
을 하고 필요한 경로를 통과하는 것이다.그리고 우리가 처리하고자 하는 모든 요청 (이 예에서 router
을 링크하고 GET
과 request
을 매개 변수로 하는 함수를 전송합니다.서버에서 받은 요청과 이후에 보낼 수 있는 응답에 대응합니다.
우리는 response
모델에서 find()
방법을 사용하여 데이터베이스에 있는 모든 사용자를 찾습니다.이것은 우리가 처리한 약속User
과 .then()
으로 되돌아갈 것이다.만약 성공한다면, 우리는 응답을 json 형식의 사용자 목록으로 설정할 것입니다.만약 없다면, 우리는 응답을 중계 오류 코드와 메시지로 설정할 것입니다.
module.exports = router;
마지막으로, 우리는 라우팅을 서버 파일에 연결하기 위해 내보냅니다.내가 말한 그 부분은 우리가 서류를 작성하기 전에 통하지 않았다는 것을 기억하십니까?그렇습니다.
위의 루트 선언 모드를 사용하면 서로 다른 요청 유형과 루트에 더 많은 루트를 쉽게 포함할 수 있습니다.이것은 사용자의 .catch()
요청을 추가하는 예입니다.
router.route('/add').post((req, res) => {
const username = req.body.username;
const newUser = new User({username});
newUser.save()
.then(() => res.json('User added!'))
.catch(err => res.status(400).json(`Error: ${err}`))
});
결론
그게 다야.나는 이 안내서가 내가 일반적으로 발표하는 것보다 좀 길고 틀림없이 많은 정보가 있을 것이라는 것을 알고 있지만, 만약 당신이 다른 창고나 프레임워크를 이용하여 백엔드 API를 구축하는 것에 익숙하다면, 이 안내서의 많은 내용은 좀 익숙해 보일 것이다.
이것은 당연히 매우 간단한 개술이지만, 위에서 설명한 모델을 사용하여 더욱 의미 있는 API로 확장하는 방법을 볼 수 있을 것이라고 믿습니다. 이 API를 사용하여 데이터를 전방 React 프로젝트에 서비스할 수 있습니다.나는 네가 새로운 것을 배웠으면 좋겠어!
만약 당신이 이 글을 좋아한다면, 언제든지 나의 다른 곳Github, 또는.즐거운 인코딩!
Reference
이 문제에 관하여(Express, Node 및 MongoDB를 사용하여 기본 API 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kjdowns/building-a-basic-api-using-express-node-and-mongodb-160f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// Require packages
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
// Configure dotenv
require('dotenv').config();
// Middleware
app.use(cors());
app.use(express.json());
// Connect to mongoDB server
const uri = process.env.ATLAS_URI;
mongoose.connect(uri, {useNewUrlParser: true, useCreateIndex:true, useUnifiedTopology: true});
const connection = mongoose.connection;
connection.once('open', () => {
console.log("MongoDB database connection established successfully");
})
// Require and use Route files
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
// Server listen
app.listen(port, () => {
console.log(`Server is running on port: ${port}`);
})
우리의 모델을 만드는 것은 상당히 간단하다.MongoDB는 문서나 noSQL 데이터베이스이기 때문에 우리의 예시
app.listen()
모델의 모든 실례는 json과 유사한 문서로 저장됩니다.이 모델을 만들기 위해 User
폴더를 추가합니다. 이 폴더에 models
파일을 만들 것입니다.이것이 바로 우리가 데이터베이스 모델을 위해 모델을 작성하는 곳이다.이것은 상대적으로 간단하기 때문에 나는 아래에 나의 코드를 발표한 후에 해석할 것이다.const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
username: {
type: String,
required: true,
unique: true,
trim: true,
minlength: 3
}
}, {
timestamps: true
})
const User = mongoose.model('User', userSchema);
module.exports = User;
그래서 우선 user.model.js
변수를 만들고 mongoose
변수를 만들어야 합니다.그리고 우리는 새로운 변수 Schema
를 성명합니다. 그것은 새로운 변수 userSchema
이며, 대상을 전달합니다.이 대상의 관건은 우리가 모델의 속성을 원하는 것이다.이런 상황에서 우리는 단지 우리의 사용자가 간단한 일을 유지하기 위해 사용자 이름을 가지고 있기를 바란다.각 키의 값은 다른 대상입니다. 속성에 대한 검증을 지정합니다.보시다시피 우리는 우리의
Schema
유형이 username
유형이고 필요하며 유일하기를 바랍니다. 여분의 공백을 잘라내고 최소 길이는 3입니다.우리는 또한 두 번째 대상을 전송하는데, 이 대상은 우리가 모델링할 대상도 시간 스탬프를 가지고 있다고 지정한다.MongoDB도 자동으로 색인을 추가합니다.마지막으로, 우리는 모든 내용을 변수로 묶어서 내보냅니다.
노선
Homestretch, 우리는 곧 도착할 거야!우리가 해야 할 마지막 일은 우리의 API를 위한 루트를 만드는 것이다.새 String
폴더를 만들고 그 중 routes
파일을 만들어서 사용할 수 있습니다.
const router = require('express').Router();
let User = require('../models/user.model');
우리가 파일에서 해야 할 첫 번째 일은 expressrouter와 users.js
모델 파일이 필요하다는 것이다.
router.route('/').get((req, res) => {
User.find()
.then(users => res.json(users))
.catch(err => res.status(400).json(`Error: ${err}`))
});
이것은 서버가 user
요청을 받았을 때 /users/
루트의 코드입니다.만약 성공한다면, 이것은 모든 사용자의 목록을 간단하게 되돌려주거나, 오류 코드와 메시지를 되돌려줍니다.원하는 기능을 포함하여 쉽게 편집할 수 있습니다.
이곳의 기본 모델은 GET
에서 호출route
을 하고 필요한 경로를 통과하는 것이다.그리고 우리가 처리하고자 하는 모든 요청 (이 예에서 router
을 링크하고 GET
과 request
을 매개 변수로 하는 함수를 전송합니다.서버에서 받은 요청과 이후에 보낼 수 있는 응답에 대응합니다.
우리는 response
모델에서 find()
방법을 사용하여 데이터베이스에 있는 모든 사용자를 찾습니다.이것은 우리가 처리한 약속User
과 .then()
으로 되돌아갈 것이다.만약 성공한다면, 우리는 응답을 json 형식의 사용자 목록으로 설정할 것입니다.만약 없다면, 우리는 응답을 중계 오류 코드와 메시지로 설정할 것입니다.
module.exports = router;
마지막으로, 우리는 라우팅을 서버 파일에 연결하기 위해 내보냅니다.내가 말한 그 부분은 우리가 서류를 작성하기 전에 통하지 않았다는 것을 기억하십니까?그렇습니다.
위의 루트 선언 모드를 사용하면 서로 다른 요청 유형과 루트에 더 많은 루트를 쉽게 포함할 수 있습니다.이것은 사용자의 .catch()
요청을 추가하는 예입니다.
router.route('/add').post((req, res) => {
const username = req.body.username;
const newUser = new User({username});
newUser.save()
.then(() => res.json('User added!'))
.catch(err => res.status(400).json(`Error: ${err}`))
});
결론
그게 다야.나는 이 안내서가 내가 일반적으로 발표하는 것보다 좀 길고 틀림없이 많은 정보가 있을 것이라는 것을 알고 있지만, 만약 당신이 다른 창고나 프레임워크를 이용하여 백엔드 API를 구축하는 것에 익숙하다면, 이 안내서의 많은 내용은 좀 익숙해 보일 것이다.
이것은 당연히 매우 간단한 개술이지만, 위에서 설명한 모델을 사용하여 더욱 의미 있는 API로 확장하는 방법을 볼 수 있을 것이라고 믿습니다. 이 API를 사용하여 데이터를 전방 React 프로젝트에 서비스할 수 있습니다.나는 네가 새로운 것을 배웠으면 좋겠어!
만약 당신이 이 글을 좋아한다면, 언제든지 나의 다른 곳Github, 또는.즐거운 인코딩!
Reference
이 문제에 관하여(Express, Node 및 MongoDB를 사용하여 기본 API 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kjdowns/building-a-basic-api-using-express-node-and-mongodb-160f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const router = require('express').Router();
let User = require('../models/user.model');
router.route('/').get((req, res) => {
User.find()
.then(users => res.json(users))
.catch(err => res.status(400).json(`Error: ${err}`))
});
module.exports = router;
router.route('/add').post((req, res) => {
const username = req.body.username;
const newUser = new User({username});
newUser.save()
.then(() => res.json('User added!'))
.catch(err => res.status(400).json(`Error: ${err}`))
});
그게 다야.나는 이 안내서가 내가 일반적으로 발표하는 것보다 좀 길고 틀림없이 많은 정보가 있을 것이라는 것을 알고 있지만, 만약 당신이 다른 창고나 프레임워크를 이용하여 백엔드 API를 구축하는 것에 익숙하다면, 이 안내서의 많은 내용은 좀 익숙해 보일 것이다.
이것은 당연히 매우 간단한 개술이지만, 위에서 설명한 모델을 사용하여 더욱 의미 있는 API로 확장하는 방법을 볼 수 있을 것이라고 믿습니다. 이 API를 사용하여 데이터를 전방 React 프로젝트에 서비스할 수 있습니다.나는 네가 새로운 것을 배웠으면 좋겠어!
만약 당신이 이 글을 좋아한다면, 언제든지 나의 다른 곳Github, 또는.즐거운 인코딩!
Reference
이 문제에 관하여(Express, Node 및 MongoDB를 사용하여 기본 API 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kjdowns/building-a-basic-api-using-express-node-and-mongodb-160f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)