Node.js RESTful API
程序员文章站
2022-06-25 08:36:47
以下为 REST 基本架构的四个方法: GET - 用于获取数据。 PUT - 用于更新或添加数据。 DELETE - 用于删除数据。 POST - 用于添加数据。 首先,创建一个 json 数据资源文件 users.json { "user1":{ "name":"cyy1", "password ......
以下为 rest 基本架构的四个方法:
-
get - 用于获取数据。
-
put - 用于更新或添加数据。
-
delete - 用于删除数据。
-
post - 用于添加数据。
首先,创建一个 json 数据资源文件 users.json
{ "user1":{ "name":"cyy1", "password":"password1", "hobby":"html", "id":1 }, "user2":{ "name":"cyy2", "password":"password2", "hobby":"css", "id":2 }, "user1":{ "name":"cyy3", "password":"password3", "hobby":"js", "id":3 } }
接下来让我们创建以下 restful api:
创建 restful api listusers,用于读取用户的信息列表, server.js
var express=require("express"); var app=express();//使用express框架 var fs=require("fs");//文件操作 //路由 localhost:8081/listusers 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("访问%s:%s",host,port); })
浏览器访问:http://127.0.0.1:8081/listusers
创建 restful api adduser, 用于添加新的用户数据,server.js
var express=require("express"); var app=express();//使用express框架 var fs=require("fs");//文件操作 //添加新的用户数据 var user={ "user4":{ "name":"cyy4", "password":"password4", "hobby":"jquery", "id":4 } } //路由 localhost:8081/adduser 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("访问%s:%s",host,port); })
浏览器访问: http://127.0.0.1:8081/adduser
查看users.json
没变,呵呵呵呵呵
创建 restful api :id(用户id), 用于读取指定用户的详细信息
var express=require("express"); var app=express();//使用express框架 var fs=require("fs");//文件操作 //路由 localhost:8081/:id 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("访问%s:%s",host,port); });
浏览器访问:
创建 restful api deleteuser, 用于删除指定用户的详细信息
var express=require("express"); var app=express();//使用express框架 var fs=require("fs");//文件操作 var id=2; //路由 localhost:8081/deleteuser app.get("/deleteuser",function(req,res){ fs.readfile(__dirname+"/"+"users.json","utf8",function(err,data){ data=json.parse(data); delete data["user"+id]; 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("访问%s:%s",host,port); });
浏览器访问: http://127.0.0.1:8081/deleteuser
如果有人和我一样遇到乱码的问题,除了不是文件读取的编码问题,可以考虑为浏览器自动为没有在 html > head 中解释编码的 html 编码为本地默认编码。
可以主动添加 head:
话说我加上这句之后浏览器打印结果感觉变深了==