편안하고 API를 Node.js를
REST는 무엇인가?
즉, REST 인 Representational 주 전송 (영어 : 인 Representational 주 전송, REST라는) 소프트웨어 아키텍처의 스타일로 2000 년 자신의 박사 학위 논문에서 박사 로이 필딩에 의해 발표했다.
표현 상태 전송 아키텍처 제약과 원칙의 집합입니다. 디자인의 이러한 제약과 원칙을 충족하거나 응용 프로그램이 편안하고있다. , REST는 스타일이 아닌 표준 있습니다. REST는 일반적으로 (표준 일반화 마크 업 언어에서 응용 프로그램) HTTP, URI 및 XML (아래의 표준 일반화 마크 업 언어의 부분 집합)와 HTML의 사용이 기존의 광범위한 프로토콜과 표준을 기반으로합니다. REST는 일반적으로 JSON 데이터 형식을 사용합니다.
HTTP 방법
다음의 네 가지 기본 방법의 REST 아키텍처 :GET - 데이터를 검색하는 데 사용됩니다.
PUT - 데이터를 추가하는 데 사용됩니다.
삭제 - 데이터를 삭제 할 수 있습니다.
POST는 - 업데이트하거나 데이터를 추가하는 데 사용됩니다.
RESTful 웹 서비스
웹 서비스는 검색, 설명 게시 기준을 오픈 XML (아래의 표준 일반화 마크 업 언어의 부분 집합)를 사용할 수 있습니다, 플랫폼 독립적 인, 느슨하게 결합, 급식, 프로그램 웹 기반 응용 프로그램이며, 조정 상호 운용 분산 응용 프로그램의 개발을위한 이러한 응용 프로그램을 구성합니다.
편안하고있다 REST 기반 웹 서비스 아키텍처.
때문에 HTTP 특성 데이터를 통해 가볍고 직접 전송에, RESTful 웹 서비스 방법은 가장 일반적인 대안이되고있다. 사용자는 클라이언트를 달성하기 위해 (예를 들면 Java 프로그램, 펄, 루비, 파이썬, PHP와 [Ajax를 포함 자바 스크립트 등) 다양한 언어를 사용할 수있다.
RESTful 웹 서비스는 일반적으로 클라이언트가 자동으로 또는 사용자의 애플리케이션을 대신하여 액세스 될 수있다. 그러나,이 단순 서비스 사용자가 직접 반환는 GET URL를 구축하고 읽을 웹 브라우저를 사용하여 상호 작용 할 수 있습니다.
더보고, 당신은 볼 수 있습니다 편안하고 건축 댓글
편안하고 만들기
다음과 같이 먼저, JSON 데이터 리소스 파일 users.json을 작성, 읽
{ "user1" : { "name" : "mahesh", "password" : "password1", "profession" : "teacher", "id": 1 }, "user2" : { "name" : "suresh", "password" : "password2", "profession" : "librarian", "id": 2 }, "user3" : { "name" : "ramesh", "password" : "password3", "profession" : "clerk", "id": 3 } }
상기 데이터에 기초하여, 우리는 다음을 생성하여 RESTful API :
아니오. | URI | HTTP 방법 | 콘텐츠 보내기 | 결과 |
---|---|---|---|---|
(1) | listUsers | GET | 빈 | 모든 사용자의 목록을 표시합니다 |
이 | ADDUSER | POST | JSON 문자열 | 새 사용자 추가 |
3 | deleteUser | 삭제 | JSON 문자열 | 사용자 삭제 |
4 | : 이드 | GET | 빈 | 디스플레이 사용자 정보 |
사용자의 목록을 가져옵니다 :
다음 코드, 우리는 사용자 목록 정보를 판독하기위한편안하고 API의 listUsers를 작성, 다음과 같이 server.js 파일의 코드는 다음과 같습니다
var express = require('express'); var app = express(); var fs = require("fs"); app.get('/listUsers', function (req, res) { fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) { console.log( data ); res.end( data ); }); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
그런 다음 명령을 실행합니다 :
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
다음과 같이 브라우저 http://127.0.0.1:8081/listUsers에 액세스, 결과는 다음과 같습니다
{ "user1" : { "name" : "mahesh", "password" : "password1", "profession" : "teacher", "id": 1 }, "user2" : { "name" : "suresh", "password" : "password2", "profession" : "librarian", "id": 2 }, "user3" : { "name" : "ramesh", "password" : "password3", "profession" : "clerk", "id": 3 } }
사용자 추가
다음 코드, 우리는 다음과 같이 server.js 파일의 코드는 새로운 사용자 데이터를 추가하는 데사용하여 RESTful API의 adduser 명령을 만듭니다
var express = require('express'); var app = express(); var fs = require("fs"); //添加的新用户数据 var user = { "user4" : { "name" : "mohit", "password" : "password4", "profession" : "teacher", "id": 4 } } app.get('/addUser', function (req, res) { // 读取已存在的数据 fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) { data = JSON.parse( data ); data["user4"] = user["user4"]; console.log( data ); res.end( JSON.stringify(data)); }); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
그런 다음 명령을 실행합니다 :
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
다음과 같이 브라우저 http://127.0.0.1:8081/addUser에 액세스, 결과는 다음과 같습니다
{ user1: { name: 'mahesh', password: 'password1', profession: 'teacher', id: 1 }, user2: { name: 'suresh', password: 'password2', profession: 'librarian', id: 2 }, user3: { name: 'ramesh', password: 'password3', profession: 'clerk', id: 3 }, user4: { name: 'mohit', password: 'password4', profession: 'teacher', id: 4 } }
디스플레이 사용자 정보
다음 코드, 우리는편안하고 API를 만들 : ID (사용자 ID),읽을 수있는 사용자에 대한 세부 사항을 지정, 다음과 같이 server.js 파일의 코드는 다음과 같습니다
var express = require('express'); var app = express(); var fs = require("fs"); app.get('/:id', function (req, res) { // 首先我们读取已存在的用户 fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) { data = JSON.parse( data ); var user = data["user" + req.params.id] console.log( user ); res.end( JSON.stringify(user)); }); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
그런 다음 명령을 실행합니다 :
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
다음과 같이 브라우저 http://127.0.0.1:8081/2에 액세스, 결과는 다음과 같습니다
{ "name":"suresh", "password":"password2", "profession":"librarian", "id":2 }
사용자 삭제
다음 코드, 우리는 다음과 같은 예를 삭제 지정된 사용자에 대한 자세한 정보편안한 API의 deleteUser을 생성, 사용자 ID는 다음과 같이 server.js 파일의 코드는, 2 :
var express = require('express'); var app = express(); var fs = require("fs"); var id = 2; app.get('/deleteUser', function (req, res) { // First read existing users. fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) { data = JSON.parse( data ); delete data["user" + 2]; console.log( data ); res.end( JSON.stringify(data)); }); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
그런 다음 명령을 실행합니다 :
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
다음과 같이 브라우저 http://127.0.0.1:8081/deleteUser에 액세스, 결과는 다음과 같습니다
{ user1: { name: 'mahesh', password: 'password1', profession: 'teacher', id: 1 }, user3: { name: 'ramesh', password: 'password3', profession: 'clerk', id: 3 } }