首页 > 编程语言 >Node.js(四)json

Node.js(四)json

时间:2022-09-19 11:46:19浏览次数:50  
标签:Node res name car req js json cars id

npm init -y(初始化项目)

npm install express(引入express)

npx express-generator -e(自动生成模板。添加对 ejs 模板引擎的支持)

npm i --save lodash(引入lodash)

 

路由配置carApi.js

const express=require("express");
let router=express.Router();
const _=require("lodash");

var cars=[];
cars.push({id:201701,name:"BMW",price:190,speed:"210km/h",color:"白色"});
cars.push({id:201702,name:"BYD",price:25,speed:"160km/h",color:"红色"});
cars.push({id:201703,name:"Benz",price:300,speed:"215km/h",color:"蓝色"});
cars.push({id:201704,name:"Honda",price:190,speed:"170km/h",color:"黑色"});
cars.push({id:201705,name:"QQ",price:130,speed:"210km/h",color:"白色"});

//Get
router.get("/",(req,res,next)=>{
    res.json({status:"ok","data":cars});
})
//查找单个汽车根据名称
router.get("/:name",(req,res,next)=>{
    //查找编号为id的汽车
    let car=_.filter(cars,{name:req.params.name})
    res.json({"data":car});
})
//查找单个汽车根据id
router.get("/edit/:id",(req,res,next)=>{
    //查找编号为id的汽车
    let car=_.find(cars,{id:parseInt(req.params.id)})
    res.json({status:"ok","data":car});
})
//排序
router.get("/order/orderBy",(req,res,next)=>{
    let car=_.orderBy(cars,["id"],["desc"]);
    console.log(car);
    res.json({status:"ok","data":car});
})
//Post
router.post("/",(req,res,next)=>{
    let car=req.body;
    let obj=_.last(_.sortBy(cars,["id"]));
    car.id=obj.id+1;
    cars.push(car);
    res.json({status:"ok","data":car});
})

//Put
router.put("/",(req,res,next)=>{
    let srcCar=req.body;
    let car=_.find(cars,{id:parseInt(srcCar.id)})
    car.name=srcCar.name;
    car.speed=srcCar.speed;
    car.price=srcCar.price;
    car.color=srcCar.color;
    res.json({status:"ok","data":car})
})

//Delete
router.delete("/:id",(req,res,next)=>{
    let indnx=_.findIndex(cars,{id:parseInt(req.params.id)})
    cars.splice(indnx,1)
    res.json({status:"ok","data":""})
})

module.exports=router;

 

标签:Node,res,name,car,req,js,json,cars,id
From: https://www.cnblogs.com/zsbb/p/16707173.html

相关文章

  • 《js 设计模式与开发实践》读书笔记 13
     职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 ......
  • 《js 设计模式与开发实践》读书笔记 14(完)
    在传统面向对象语言中,给对象添加功能常常使用继承的方式,但是继承的方式并不灵活,还会带来许多问题:一方面会导致超类和子类之间存在强耦合性,当超类改变时,子类也会随之改变;另......
  • JOSN.parse、JSON.stringify深拷贝数据丢失问题(使用JSON深拷贝有哪些弊端)
    一个数组添加属性,深拷贝之后添加的数据丢失当数组添加一个对象,这个对象是不可枚举属性,使用JSON进行深拷贝,会丢失这个属性使用JSON.parse(JSON.stringify())进行深拷贝......
  • Js手写面试题第三天
    前言❓有任何疑问都可以私信我解答⚡仓库地址:​https://gitee.com/super_li_yu/jsexamdemo......
  • springboot中解析JSON参数
    解析psot请求中的JSON参数Map<String,String>attrMap=newHashMap<String,String>();BufferedReaderstreamReader=null;try{streamReader=newBufferedRead......
  • Node.js(二)express
    npminit-y(初始化项目)npminstallexpress(引入express)npxexpress-generator-e(自动生成模板。添加对ejs模板引擎的支持)app.jsconstexpress=require("express......
  • Node.js(一)基本node.js读取删除
    npminit-y(初始化项目)vartext2=require("./text2");//解构const{a:A,b:B}=require("./text2")console.log(A,B)console.log(text2.a);console.log(text2.b);......
  • RxJS
    学习抄录加强记忆...入门RxJS是一个库,通过使用observable序列来编写异步和基于事件的程序,提供一个核心的类型Observable,附属类型(Observer/Schedulers/Subjects)和受[......
  • Android——使用GSON库解析json数据(解析菜谱大全返回的JSON数据)
    1.首先,在dependencies依赖库添加GSON库的依赖:implementation'com.google.code.gson:gson:2.8.6'2.有关GSONGSON提供了fromJson()和toJson()两个直接用于解析和生成JSON......
  • Moment.js 如何对时间进行比较获得不同的天数
    对2个Moment的时间进行比较,并且获得不同天数的代码如下:moment().diff(moment(date),'days');这行代码已经简单到不能再简单了。解读简单来说,这个代码的意思就是先......