• [Node.js]Restful Api


    摘要

    什么Rest?

    REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。

    表述性状态转移是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML(标准通用标记语言下的一个子集)以及HTML(标准通用标记语言下的一个应用)这些现有的广泛流行的协议和标准。REST 通常使用 JSON 数据格式。

    Http方法和RESTful Web Services

    REST基本架构使用的http方法有以下四种:GET(用于查询数据)、PUT(修改数据)、DELETE(删除数据)、POST(添加数据)。

    Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

    基于 REST 架构的 Web Services 即是 RESTful。

    由于轻量级以及通过 HTTP 直接传输数据的特性,Web 服务的 RESTful 方法已经成为最常见的替代方法。可以使用各种语言(比如 Java 程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])实现客户端。

    一个例子

    这里我们创建Restful api,对用户信息进行增删改查操作。创建users.json作为数据源。

    {
        "user1":{
            "name":"wolfy1",
            "age":1
        },
         "user2":{
            "name":"wolfy2",
            "age":2
        }
    }

    启动,并用浏览器访问

    添加数据

    读取users.json并添加user3

    var user={
        "user3":{
            "name":"wolfy3",
             "age":3
             }};
    //添加数据
    app.get("/adduser",function(req,res){
        //读取已经存在的数据
        fs.readFile(__dirname+"/"+"users.json","utf8",function(err,data){
            if(err){
                console.log(err);
            }else{
                data=JSON.parse(data);
                data["user3"]=user["user3"];
                
                res.end(JSON.stringify(data) );
            };
        });
    });

    启动,并浏览

    查找用户1详情

    app.get("/:name",function(req,res){
        //读取已经存在的数据
        fs.readFile(__dirname+"/"+"users.json","utf8",function(err,data){
            if(err){
                console.log(err);
            }else{
                data=JSON.parse(data);
               
                var user=data[req.params.name];
                res.end(JSON.stringify(user) );
            };
        });
    });

    启动,并浏览

    删除用户

    删除用户,并使用postman发送delete请求,返回删除后的数据。

    app.delete("/deleteuser",function(req,res){
        //读取已经存在的数据
        fs.readFile(__dirname+"/"+"users.json","utf8",function(err,data){
            if(err){
                console.log(err);
            }else{
                data=JSON.parse(data);
               delete data["user3"];            
                res.end(JSON.stringify(data) );
            };
        });
    });

    学习资料

    http://www.runoob.com/nodejs/nodejs-restful-api.html

  • 相关阅读:
    大数据课上用spark
    Python 机器学习及实践 Codeing 模型实用技巧 (特征提升 模型正则化 模型检测 超参数搜索)
    学习网站保存
    Tensorflow + Keras 深度学习人工智能实践应用 Linux Ubuntu 中 安装Tensroflow 与 Keras
    卡尔曼滤波的总结
    MATLAB在一张图上画出多条曲线
    数据库的索引和优化
    线程进程
    static关键字
    单例模式
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/6872017.html
Copyright © 2020-2023  润新知