Latest web development tutorials

Node.js สงบ API

ส่วนที่เหลือคืออะไร?

ส่วนที่เหลือ Representational รัฐโอนเงิน (อังกฤษ: Representational การโอนรัฐที่เรียกว่า REST) ​​นำเสนอโดยดร. รอยฟีลดิงในวิทยานิพนธ์ปริญญาเอกของเขาในปี 2000 รูปแบบของสถาปัตยกรรมซอฟต์แวร์

ดำเนินการโอนเงินของรัฐคือชุดของข้อ จำกัด ทางด้านสถาปัตยกรรมและหลักการ พบกับข้อ จำกัด เหล่านี้และหลักการของการออกแบบหรือแอปพลิเคสงบ โปรดทราบว่าส่วนที่เหลือเป็นรูปแบบมากกว่ามาตรฐาน ส่วนที่เหลือเป็นไปตามปกติในการใช้ HTTP, URI และ XML (เป็นส่วนหนึ่งของมาตรฐานทั่วไป Markup Language ใต้) และ HTML (การประยุกต์ใช้ภายใต้มาตรฐานทั่วไป Markup Language) เหล่านี้ที่มีอยู่อย่างแพร่หลายโปรโตคอลและมาตรฐาน ส่วนที่เหลือจะใช้รูปแบบข้อมูล JSON

วิธี HTTP

สี่ต่อไปนี้วิธีการขั้นพื้นฐานสถาปัตยกรรมพัก:

  • GET - ใช้ในการดึงข้อมูล

  • PUT - ใช้ในการเพิ่มข้อมูล

  • ลบ - ลบข้อมูล

  • Post - ใช้ในการปรับปรุงหรือเพิ่มข้อมูล


บริการเว็บสงบ

บริการเว็บเป็นคู่หลวมตนเองมีใช้งานบนเว็บแพลตฟอร์มโปรแกรมที่คุณสามารถใช้ Open XML (เป็นส่วนหนึ่งของมาตรฐานทั่วไป Markup Language ใต้) มาตรฐานที่จะอธิบายเผยแพร่, ค้นพบ, การประสานงาน และกำหนดค่าการใช้งานเหล่านี้สำหรับการพัฒนาโปรแกรมการกระจายการทำงานร่วมกัน

ส่วนที่เหลือตามสถาปัตยกรรม Web Services ที่เป็นสงบ

เนื่องจากการถ่ายโอนที่มีน้ำหนักเบาและตรงผ่านข้อมูลลักษณะ HTTP, วิธีการบริการเว็บสงบได้กลายเป็นทางเลือกที่พบมากที่สุด คุณสามารถใช้ความหลากหลายของภาษา (เช่นโปรแกรม Java, Perl, Ruby, Python, PHP และ Javascript [รวมทั้งอาแจ็กซ์]) เพื่อให้บรรลุลูกค้า

บริการเว็บสงบมักจะสามารถเข้าถึงได้ผ่านทางลูกค้าโดยอัตโนมัติหรือในนามของแอพลิเคชันของผู้ใช้ แต่ความเรียบง่ายนี้ช่วยให้ผู้ใช้บริการในการติดต่อโดยตรงกับพวกเขาโดยใช้เว็บเบราเซอร์ของพวกเขาในการสร้าง URL GET และอ่านผลตอบแทน

รายงานเพิ่มเติมคุณสามารถดู: สถาปัตยกรรมสงบความคิดเห็น


สร้างสงบ

ขั้นแรกให้สร้าง users.json 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
   }
}

จากข้อมูลดังกล่าวข้างต้นเราได้สร้างสงบ API ต่อไปนี้:

เลขที่ URI วิธี HTTP ส่งเนื้อหา ผล
1 ListUsers GET ว่างเปล่า แสดงรายการของผู้ใช้ทั้งหมด
2 adduser โพสต์ สตริง JSON เพิ่มผู้ใช้ใหม่
3 deleteUser ลบ สตริง JSON ลบผู้ใช้
4 ผู้ใช้: Id GET ว่างเปล่า รายละเอียดผู้ใช้งานแสดง

ได้รับรายชื่อผู้ใช้:

รหัสต่อไปนี้เราจะสร้าง ListUsersสงบ API สำหรับการอ่านข้อมูลรายชื่อผู้ใช้รหัสไฟล์ 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
   }
}

เพิ่มผู้ใช้

รหัสต่อไปนี้เราจะสร้าง adduserสงบ API ที่ใช้ในการเพิ่มข้อมูลผู้ใช้ใหม่รหัสไฟล์ server.js เป็นดังนี้:

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 (User 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
}

ลบผู้ใช้

รหัสต่อไปนี้เราจะสร้าง deleteUserสงบ API ข้อมูลรายละเอียดสำหรับผู้ใช้ที่ระบุในการลบตัวอย่างต่อไปนี้ ID ผู้ใช้คือ 2 รหัสไฟล์ server.js เป็นดังนี้:

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 } 
}