首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Express-设计RestfulApi

总结就是,RestfulApi 是一种流行的 API 设计风格,可以让接口含义更加清晰,更简洁,更有层次,可维护性更高下面就就简单基于 Express 设计一个 Restful 结构的 Api设计原则在这之前说一下原则...更新用户信息 /upDataUser删除用户信息 /delUser因为资源标识一种实体,所以应该是名词,URI 不应该有动词,动词应该放在http协议中中,例如 get post put delete所以正确的命名应该是...URI请求方式获取用户列表/userget获取用户详情/user/:idget添加用户/userpost更新用户信息/userput删除用户信息/user/:iddelete这样是不是简洁明了,只用到一个关键字..., res, next){ let result = await UserModel.create(req.body); if(result){ res.send({ code: 200..., res, next){ let result = await UserModel.update({ age: req.body.age, name:req.body.name }

27350
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在Express中对MongoDB数据库进行增删改查

    我使用的系统是Windows10系统,采用的开发工具是Visual Studio Code,另外还需要在VSCode中安装REST Client插件,用于发送HTTP请求和查看服务端的响应信息,类似于PostMan...,不过Rest-Client插件可以直接在VSCode中发送HTTP的GET、POST、PUT、DELETE请求,对于开发人员来说很方便,具体可以参考Johnny老师的B站视频VSCode中类似PostMan...Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能,简单易用,下面的代码演示了如何使用Express在指定的4001端口上监听,开启一个http服务,当然端口可以随意指定...}) 在NodeJs中对MongoDB数据库进行增删改查 连接MongoDB数据库 新建一个MongoDB数据库模型,命名为express-test const mongoose = require('...(data) res.send(product) }) 查询所有产品记录 // 查询所有产品记录 app.get('/products', async function(req, res){ /

    5.3K10

    请求响应原理及HTTP协议

    http://www.itheima.com => http://124.165.219.100/ 虽然在地址栏中输入的是网址, 但是最终还是会将域名转换为ip才能访问到指定的网站服务器。..., res) => { req.headers // 获取请求报文 req.url // 获取请求地址 req.method // 获取请求方法 }); ​...API执行的结果, 但是异步API是不可以的 // 同步 function sum (n1, n2) { return n1 + n2; } const result =...await关键字只能出现在异步函数中 await promise await后面只能写promise对象 写其他类型的API是不不可以的 await关键字可是暂停异步函数向下执行 直到promise...返回结果 // await关键字 // 1.它只能出现在异步函数中 // 2.await promise 它可以暂停异步函数的执行等待promise对象返回结果后再向下 async function

    1.4K30

    掌握并理解 CORS (跨域资源共享)

    CORS 是一个浏览器强制策略,其他应用程序不受此影响。 事例讲解 为了缩小代码量,这里演示部分代码,完全的代码在 Github 上可以得到。...出于安全方面的考虑,现在的网页都用cookie来进行身份验证,如果不限制读取,网页B里的恶意脚本代码可以随意模仿真实用户进行操作。...为此,我们可以根据错误提示启用CORS标头: app.get('/public', function(req, res) { res.set('Access-Control-Allow-Origin...,表示这个请求是用来询问的,头信息里面,关键字段是Origin,表示请求来自哪个源。...当咱们希望允许thirdparty.com访问/private时,可以在标头中指定此来源: app.get('/private', function(req, res) { res.set('Access-Control-Allow-Origin

    2.2K10

    NodeJS背后的人:Express

    : //浏览器默认GET请求,其他请求可以使用接口工具进行测试; app.get('/getD', (req,res)=>{ res.end('常用于获取数据'); }) app.put('/putD...即:路由所有的请求方式; //all全路由请求: //处理所有请求方法的路由 app.all('/allD', (req, res) => { res.end("无论是 GET、POST、PUT 还是其他任何请求方法...//:命名参数定义命名参数,并获取值; app.get("/details/:commodityID",(req,res)=>{ //回调函数通过:req.params 获取命名参数的值;...命名/XXX 命名参数的值存储在 req.params 对象中,且与res.query 不冲突:/XXX/:命名/:命名/XXX?...use() 不仅仅是引入中间件; 实际上,app.use() 是一个非常通用的方法,它用于将中间件绑定到应用程序的路径上,以及将路由绑定到应用程序的路径上 中间件和路由实际上都可以被认为是一个可以处理请求的处理函数

    13410

    图解微信公众号后台服务开发(nodejs版)

    1、如何获得一个微信公众号 首先要说明的是,微信公众号分服务号和订阅号两种,具体差别: ? 可以获得的接口权限,即可以提供的功能差异如下: ?...既然标题是基于nodejs的,我们还是贴一下nodejs中完成这些步骤的代码,相信有了流程图,开发同学们并不需要对代码有过多的解释,直接看代码就ok了。...使用express和wechat-api模块,app.use('/wechat', wechat('token', function (req, res, next) {})语句是用来验证token,其后的参数是验证通过后的回调执行函数..., res) { var query = url.parse(req.url, true).query; // console.log("*** URL:" + req.url);...所以模板消息不是随意发的,发送内容也是受到限制的,微信平台上固定了很多模板消息类型供开发者选择,开发者可以利用公众号账号登陆开发者平台后,在账号内添加各类模板消息的模板,然后可以获得模板消息的唯一id标识

    2K21

    NodeJs如何使用SQL模糊查询

    最近在改一个比较久的项目,是使用nodejs写的,但是对于长期写java的后端开发来说,还是有点难维护,不过不改bug的话,就需要重新开发,所以只能慢慢看nodejs代码,测试人员提了一个需要支持模糊查询的...bug,如果是java写的,可以马上改好,因为不熟悉nodejs代码,还是改了一两个小时,边找资料,边改,记录下来,方便回顾 实验环境 VS Code Mysql 8.0.26 修改过程 最开始直接这样改...exports.queryWordsList = function (req, res, next) { var Words = DB.get('Words') var params = req.body...": "1713148803682.74" } 所以,修改一下,传一个参数进去 exports.queryWordsList = function (req, res, next) { var Words...: '10000', data: result }) } ) } ok,经过测试,可以查询,不过测试,对于传入"其%"这样的查询字符,sql是直接当成关键字“其”进行模糊查询的,直接忽略了特殊符号

    10000

    图解微信公众号后台服务开发(nodejs版)

    1、如何获得一个微信公众号 首先要说明的是,微信公众号分服务号和订阅号两种,具体差别: ? 可以获得的接口权限,即可以提供的功能差异如下: ?...既然标题是基于nodejs的,我们还是贴一下nodejs中完成这些步骤的代码,相信有了流程图,开发同学们并不需要对代码有过多的解释,直接看代码就ok了。...使用express和wechat-api模块,app.use('/wechat', wechat('token', function (req, res, next) {})语句是用来验证token,其后的参数是验证通过后的回调执行函数..., res) { var query = url.parse(req.url, true).query; // console.log("*** URL:" + req.url);...所以模板消息不是随意发的,发送内容也是受到限制的,微信平台上固定了很多模板消息类型供开发者选择,开发者可以利用公众号账号登陆开发者平台后,在账号内添加各类模板消息的模板,然后可以获得模板消息的唯一id标识

    7.3K41

    意林读者第三期

    所以,写代码的时候最好还是能够养成一个良好的风格习惯。通常来说,驼峰命名&缩进&单引号。对于团队来说,最好还是借助lint或者别的prettier插件来进行代码规范统一。...中间件函数是指在应用的请求---响应过程中,有权获取请求对象&响应数据及next方法的函数。 next函数是一个出现在路由的函数,它在被调用时执行当前中间件之后的中间件。...中间件函数有这么几个作用: 执行任意代码 可以对请求和响应做出改变 结束请求---响应流程 执行下一个中间件 日志中间件例子: // 日志中间件函数 var myLogger = function (req...() var myLogger = function (req, res, next) { console.log('LOGGED') next() } // 使用Logger中间件 app.use...(myLogger) app.get('/', function (req, res) { res.send('Hello World!')

    28730

    06_Node.js服务器开发

    3.2 响应消息 在响应消息中,对于客户端的每一次请求,服务器端都有给予响应,在响应的时候我们可以通过状态码告诉客户端此次请求是成功还是失败。 状态代码由3位数字组成,表示请求是否被理解或被满足。...动态资源指的是相同的请求地址可以传递不同的请求参数,得到不同的响应资源,这种资源称为动态资源。 实现静态资源访问 静态资源是存放在本地的,只能自己可以访问到,其他人不能访问。...5.5 异步函数 异步函数 异步函数实际上是在Promise对象的基础上进行了封装,它把一些看起来比较繁琐的代码封装起来,然后开放一些关键字供开发者来使用。...异步函数是异步编程语法的终极解决方案,它可以让我们将异步代码写成同步的形式,让代码不再有回调函数嵌套,使代码变得清晰明了。 async关键字 异步函数需要在function前面加上async关键字。...await关键字可以暂停异步函数的执行,等待Promise对象返回结果再向下执行函数。

    10710

    使用nodejs爬取拉勾苏州和上海的.NET职位信息

    在拉勾上按照城市苏州关键字.NET来搜索一共才80来个职位,再用薪水一过滤,基本上没几个能投了。再加上最近苏州的房价蹭蹭的长,房贷压力也是非常大,所以有点想往上海去发展。...因为前几天有家公司给了个机会可以转nodejs,所以我是用来练手的,不过后来也泡汤了,但是还是花两晚写完了。刚学,代码丑轻喷哈!...0-5k:上海是苏州的4倍 5-10k:上海是苏州的4倍 10-15k:上海是苏州的9倍 15-20k:上海是苏州的12倍 20-25k:上海是苏州的17倍 >25k:上海是苏州的26倍 可以看到从10...由此可以看出,苏州跟上海的差距还是非常大的。...苏州政府一直沾沾自喜,觉得自己在互联网圈子有多牛逼,搞了一堆孵化器,但其实拿的出手的公司有几家呢,一只手都数过来了,跟北上广深一线还是差的很远呢,还是要努力啊。

    44720
    领券