Latest web development tutorials

Node.js tenang API

Apa SISA?

Bahwa transfer SISA Representasi Negara (bahasa Inggris: Negara Transfer, disebut REST) ​​yang disampaikan oleh Dr. Roy Fielding dalam disertasi doktornya pada tahun 2000 dengan gaya arsitektur perangkat lunak.

Negara Transfer adalah seperangkat kendala arsitektur dan prinsip-prinsip. Memenuhi kendala dan prinsip-prinsip desain atau aplikasi yang tenang. Perhatikan bahwa, REST adalah gaya daripada standar. SISA biasanya didasarkan pada penggunaan HTTP, URI, dan XML (subset dari Standard Generalized Markup Language bawah) dan HTML (aplikasi di bawah Standard Generalized Markup Language) protokol-protokol luas yang ada dan standar. SISA biasanya menggunakan format data JSON.

metode HTTP

Berikut ini empat metode dasar arsitektur SISA:

  • GET - digunakan untuk mengambil data.

  • PUT - digunakan untuk menambah data.

  • DELETE - menghapus data.

  • POST - digunakan untuk memperbarui atau menambahkan data.


Layanan Web tenang

layanan web adalah, longgar digabungkan, mandiri, aplikasi berbasis web platform-independen diprogram, Anda dapat menggunakan Open XML (subset dari Standard Generalized Markup Language bawah) standar untuk menggambarkan, mempublikasikan, menemukan, koordinasi dan mengkonfigurasi aplikasi ini untuk pengembangan aplikasi terdistribusi interoperable.

berbasis REST arsitektur Web Services yang tenang.

Karena transfer ringan dan langsung melalui HTTP Data karakteristik, metode layanan Web tenang telah menjadi alternatif yang paling umum. Anda dapat menggunakan berbagai bahasa (seperti program Java, Perl, Ruby, Python, PHP dan Javascript [termasuk Ajax]) untuk mencapai klien.

layanan Web tenang biasanya dapat diakses melalui client otomatis atau atas nama aplikasi pengguna. Namun, kesederhanaan ini memungkinkan pengguna layanan untuk secara langsung berinteraksi dengan mereka menggunakan browser Web mereka untuk membangun URL GET dan membaca kembali.

laporan lebih, Anda dapat melihat: tenang arsitektur Komentar


membuat tenang

Pertama, membuat users.json json file sumber daya data, berbunyi sebagai berikut:

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

Berdasarkan data di atas, kami menciptakan API tenang berikut:

Tidak. URI metode HTTP Kirim Konten hasil
1 ListUsers GET kosong Menampilkan daftar semua pengguna
2 adduser POST string JSON Menambahkan pengguna baru
3 deleteUser DELETE string JSON Hapus Pengguna
4 : Id GET kosong Rincian tampilan pengguna

Dapatkan daftar pengguna:

Kode berikut, kita membuat ListUsers APItenang, untuk membaca daftar informasi pengguna, file kode server.js adalah sebagai berikut:

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)

})

Kemudian jalankan perintah berikut:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Akses di http://127.0.0.1:8081/listUsers peramban, hasilnya adalah sebagai berikut:

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

Tambahkan Pengguna

Kode berikut, kita membuat adduser APItenang, digunakan untuk menambah data pengguna baru, file kode server.js adalah sebagai berikut:

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)

})

Kemudian jalankan perintah berikut:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Akses di http://127.0.0.1:8081/addUser peramban, hasilnya adalah sebagai berikut:

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

Rincian tampilan pengguna

Kode berikut, kita membuattenang API: id (user id),menentukan rincian untuk pengguna untuk membaca, file kode server.js adalah sebagai berikut:

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)

})

Kemudian jalankan perintah berikut:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Akses di http://127.0.0.1:8081/2 peramban, hasilnya adalah sebagai berikut:

{
   "name":"suresh",
   "password":"password2",
   "profession":"librarian",
   "id":2
}

Hapus Pengguna

Kode berikut, kita membuat API deleteUsertenang, informasi rinci untuk pengguna tertentu untuk menghapus contoh berikut, user id adalah 2, file kode server.js adalah sebagai berikut:

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)

})

Kemudian jalankan perintah berikut:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Akses di http://127.0.0.1:8081/deleteUser peramban, hasilnya adalah sebagai berikut:

{ user1:
   { name: 'mahesh',
     password: 'password1',
     profession: 'teacher',
     id: 1 },
  user3:
   { name: 'ramesh',
     password: 'password3',
     profession: 'clerk',
     id: 3 } 
}