O melhor tutorial Node.js API RESTful em 2024. Neste tutorial você pode aprender O que é demais?,RESTful Web Services,criando RESTful,
Essa transferência RESTO Representational State (Inglês: Representational State Transfer, denominado REST) apresentado pelo Dr. Roy Fielding em sua tese de doutorado em 2000, para um estilo de arquitetura de software.
Representational State Transfer é um conjunto de restrições e princípios arquitetônicos. Atender a essas restrições e princípios de design ou aplicação é RESTful. Note-se que, o resto é um estilo, em vez do padrão. RESTO geralmente é baseado no uso de HTTP, URI, e XML (um subconjunto da Standard Generalized Markup Language abaixo) e HTML (um pedido ao abrigo do Standard Generalized Markup Language), estes protocolos e padrões generalizados existentes. RESTO normalmente usam formato de dados JSON.
GET - usado para recuperar dados.
PUT - usado para adicionar dados.
DELETE - para apagar os dados.
POST - usado para atualizar ou adicionar dados.
serviço Web é um baixo acoplamento auto-suficientes, aplicações independentes de plataforma, e programáveis baseados na web, você pode usar o Open XML (um subconjunto da Standard Generalized Markup Language abaixo) normas para descrever, publicar, descobrir, a coordenação e configurar esses aplicativos para o desenvolvimento de aplicações distribuídas interoperáveis.
Web Services arquitetura baseada em REST que é RESTful.
Devido à transferência leve e direta através de dados de característica HTTP, método de serviço Web RESTful tornou-se a alternativa mais comum. Você pode usar uma variedade de idiomas (como programas de Java, Perl, Ruby, Python, PHP e Javascript [incluindo Ajax]) para atingir o cliente.
serviços Web RESTful geralmente pode ser acessado através automático de cliente ou em nome da aplicação do usuário. No entanto, esta simplicidade permite que os usuários do serviço de interagir diretamente com eles usando o seu navegador da Web para construir uma URL GET e ler os retornos.
Mais relatórios, você pode ver: RESTful arquitetura Comentários
Primeiro, crie um arquivo de recurso users.json dados JSON, tem o seguinte teor:
{ "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 } }
Com base nos dados acima, criamos o seguinte API RESTful:
Não. | URI | método HTTP | Enviar conteúdo | resultado |
---|---|---|---|---|
1 | ListUsers | GET | vazio | Exibe uma lista de todos os usuários |
2 | addUser | POST | string JSON | Adicionar um novo usuário |
3 | Deleteuser | APAGAR | string JSON | apagar Utilizador |
4 | : Id | GET | vazio | Mostrar detalhes do usuário |
O código a seguir, criamos um ListUsers APIRESTful, para ler as informações da lista de usuários, o código de arquivo server.js é a seguinte:
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) })
Em seguida, execute o seguinte comando:
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
Acesso nas http://127.0.0.1:8081/listUsers navegador, os resultados são os seguintes:
{ "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 } }
O código a seguir, criamos um addUser APIRESTful, usado para adicionar novos dados do utilizador, código de arquivo server.js é a seguinte:
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) })
Em seguida, execute o seguinte comando:
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
Acesso no http://127.0.0.1:8081/addUser navegador, os resultados são os seguintes:
{ 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 } }
O código a seguir, criamos uma APIRESTful: id (identificação do usuário),especifique os detalhes para que o usuário leia, código de arquivo server.js é a seguinte:
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) })
Em seguida, execute o seguinte comando:
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
Acesso no http://127.0.0.1:8081/2 navegador, os resultados são os seguintes:
{ "name":"suresh", "password":"password2", "profession":"librarian", "id":2 }
O código a seguir, criamos um Deleteuser APIRESTful, informações detalhadas para o usuário especificado para excluir o seguinte exemplo, a identificação do usuário é 2, código de arquivo server.js é a seguinte:
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) })
Em seguida, execute o seguinte comando:
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
Acesso no http://127.0.0.1:8081/deleteUser navegador, os resultados são os seguintes:
{ user1: { name: 'mahesh', password: 'password1', profession: 'teacher', id: 1 }, user3: { name: 'ramesh', password: 'password3', profession: 'clerk', id: 3 } }