Latest web development tutorials

편안하고 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 } 
}