MEAN.JS-REST API
이 장에서는 HTTP 메서드를 사용하여 데이터베이스와 REST API를 통해 상호 작용하는 애플리케이션을 살펴 봅니다. REST 라는 용어 는 웹 서비스와 통신하도록 설계된 아키텍처 스타일 인 REpresentational State Transfer의 약자 이고 API 는 서로 상호 작용하는 애플리케이션을 허용하는 Application Program Interface를 나타냅니다.
먼저 RESTful API를 만들어 모든 항목을 가져오고 항목을 만들고 항목을 삭제합니다. 각 항목에 대해 _id 는 MongoDB에 의해 자동으로 생성됩니다. 아래 표는 애플리케이션이 API에서 데이터를 요청하는 방법을 설명합니다.
HTTP 방식 | URL 경로 | 기술 |
---|---|---|
가져 오기 | /api/students |
컬렉션 Student에서 모든 학생을 가져 오는 데 사용됩니다. |
우편 | /api/students/send |
Student 컬렉션에서 학생 레코드를 만드는 데 사용됩니다. |
지우다 | /api/students/student_id |
학생 컬렉션에서 학생 기록을 삭제하는 데 사용됩니다. |
RESTful API 경로
먼저 RESTful API 경로의 Post 메서드에 대해 설명합니다.
우편
먼저 REST API를 통해 Student 컬렉션에 레코드를 생성 해 보겠습니다. 이 특별한 경우에 대한 코드는 server.js 파일 에서 찾을 수 있습니다 . 참고로 여기에 코드의 일부를 붙여 넣습니다.
app.post('/api/students/send', function (req, res) {
var student = new Student(); // create a new instance of the student model
student.name = req.body.name; // set the student name (comes from the request)
student.save(function(err) {
if (err)
res.send(err);
res.json({ message: 'student created!' });
});
});
실행
이 링크 에서이 애플리케이션의 소스 코드를 다운로드 할 수 있습니다 . zip 파일을 다운로드하십시오. 시스템에서 추출하십시오. 터미널을 열고 아래 명령을 실행하여 npm 모듈 종속성을 설치하십시오.
$ cd mean-demon-consuming_rest_api
$ npm install
요청을 파싱하려면 본문 파서 패키지가 필요합니다. 따라서 아래 명령을 실행하여 애플리케이션에 포함하십시오.
npm install --save body-parser
첨부 된 소스 코드에는 이미이 종속성이 있으므로 위의 명령을 실행할 필요가 없으며 단지 정보 용입니다.
응용 프로그램을 실행하려면 새로 만든 프로젝트 디렉토리로 이동하고 아래에 주어진 명령으로 실행하십시오.
npm start
아래 이미지와 같이 확인을 받게됩니다.
API 호출을 테스트하는 많은 도구가 있습니다. 여기서는 Postman REST Client 라는 Chrome 용 사용자 친화적 확장 프로그램 중 하나를 사용하고 있습니다 .
Postman REST 클라이언트를 열고 URL을 다음과 같이 입력하십시오. http://localhost:3000/api/students/send, POST 방법을 선택하십시오 . 다음으로 아래와 같이 요청 데이터를 입력합니다.
이름 데이터를 x-www-form-urlencoded 로 전송하고 있습니다. 그러면 모든 데이터가 쿼리 문자열로 노드 서버에 전송됩니다.
보내기 버튼을 클릭 하여 학생 기록을 만듭니다. 아래와 같이 성공 메시지가 나타납니다.
가져 오기
다음으로 mongodb에서 모든 학생 기록을 가져옵니다. 다음 경로를 작성해야합니다. server.js 파일 에서 전체 코드를 찾을 수 있습니다 .
app.get('/api/students', function(req, res) {
// use mongoose to get all students in the database
Student.find(function(err, students) {
// if there is an error retrieving, send the error.
// nothing after res.send(err) will execute
if (err)
res.send(err);
res.json(students); // return all students in JSON format
});
});
다음으로 Postman REST 클라이언트를 열고 URL을 다음과 같이 입력하십시오.
http://localhost:3000/api/students, GET 방법을 선택하고 보내기 버튼을 클릭하여 모든 학생을 가져옵니다.
지우다
다음으로 REST API 호출을 통해 mongo 컬렉션에서 레코드를 삭제하는 방법을 살펴 보겠습니다.
다음 경로를 작성해야합니다. server.js 파일 에서 전체 코드를 찾을 수 있습니다 .
app.delete('/api/students/:student_id', function (req, res) {
Student.remove({
_id: req.params.student_id
}, function(err, bear) {
if (err)
res.send(err);
res.json({ message: 'Successfully deleted' });
});
});
다음으로 Postman REST 클라이언트를 열고 URL을 다음과 같이 입력하십시오.
http://localhost:3000/api/students/5d1492fa74f1771faa61146d
(여기서 5d1492fa74f1771faa61146d는 Student 컬렉션에서 삭제할 레코드입니다).
삭제 방법을 선택하고 보내기 버튼을 클릭하여 모든 학생을 가져옵니다.
GET 호출을 수행하여 MongoDB에서 삭제 된 데이터를 확인할 수 있습니다. http://localhost:3000/api/students/5d1492fa74f1771faa61146d.