nodejs与RESTful API
来源:互联网 发布:淘宝美工素材网站 编辑:程序博客网 时间:2024/05/16 08:39
Nodejs火热时代,作为前端开发攻城狮必备技能之一,让小编给大家送双节福利,聊一聊Node.js 最受欢迎的用例之一用其开发 RESTful API。
接下来主要介绍restful接口的设计与实现,如果不明白或者错误的地方,欢迎大家指出~
本文使用到了express和monogoose. 如果不太清楚的童鞋,可以自行查阅或者点击下方阅读原文查看提供相关教程
对于node版本较低的童鞋,node4.x对ES6的支持并不完善,建议使用更高的node版本;
在实际开发中请在文件头部添加'use strict'来声明使用严格模式;
瞄喵喵~~原谅小编开启了唠叨模式O(∩_∩)O,咱们进入正题!!
为了有助于更好的理解后期的代码,我们首先来学习一下ES6的类与继承
ES6的类与继承
1.定义与使用
2.继承
node的模块
其次学习一下node里的模块,如果要使用ES6的模块,你需要额外使用babel
1.导出基类
新建baseService.js
2.在子类中引用基类
新建userService.js
搭建项目结构
下面将会使用到monogoose和express相关技术,首先介绍一下nodejs、monogoose和express三者关系;
Express是目前最流行的基于Node.js的Web开发框架,可以快速地搭建一个完整功能的网站。
mongoose是mongoDB的一个对象模型工具,是基于node-mongodb-native开发的mongoDB的nodejs驱动,可以在异步的环境下执行。同时它也是针对mongoDB操作的一个对象模型库,封装了mongoDB对文档的一些增删改查等常用方法,让nodejs操作mongoDB数据库变得更加容易。
正文讲解开始:
1.使用express初始化项目之后添加models文件夹和services文件夹
在models文件夹内新建userModel.js
在services文件夹内新建baseService.js
然后新建userService.js,引用对应的model,并且实现userService对baseService的继承
在userService.js中我们可以重写基类的方法,也可以添加自己私有的方法和属性
在上文中已经提到过,下面再来熟悉一遍吧
如果要在子类中调用this,需要先调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象。
接着再新建services.js文件来统一对外导出service ,下面为练习演示代码,仅作为参照
到这里,先简单介绍使用 HTTP 请求方法的 API 路由
想象你正在开发一个用来创建、更新、获取和删除用户的 Node.js RESTful API。对于这些操作,HTTP 已经有足够的工具集:POST, PUT, GET, PATCH 或 DELETE.
作为一个最佳实践,你的 API 路由应该使用名词来作为资源标识符。有关用户的资源,路由可以是这样的:
POST /user 或者 PUT /user:/id 用来创建新用户。
GET /user 查询用户列表。
GET /user/:id 查询单个用户。
PATCH /user/:id 修改已存在的用户记录。
DELETE /user/:id 删除单个用户。
最后是路由了,在routes文件夹内新建api.js文件
在代码中,我们引用了Services,
首先通过
来实例化对应的service
然后调用
方法,
其中
为占位符
在前端页面中,我们可以使用
这个典型的方法来测试一下API是否可以正常运行
- nodejs与RESTful API
- nodejs实现restful API
- nodejs express mongdb restful api
- REST、RESTful 与 RESTful API
- REST、RESTful 与 RESTful API
- 用 nodejs express 搭建 restful api
- NodeJs——RESTful API【一】
- Node.js与Restful API
- HTTP methods 与 RESTful API
- 使用apidoc生成restful-api文档:安装nodejs+npm+apidoc
- AngularJS Resource:与 RESTful API 交互
- Restful API的设计与实践
- Restful API的设计与实践
- Restful API的设计与实践
- Restful API的设计与实践
- Spring Boot构建RESTful API与单元测试
- Restful API的设计与实践
- Spring Boot构建RESTful API与单元测试
- ScrollView 嵌套RecyclerView只显示一行
- web前端面试问题
- 【JAVA-Mybatis】MyBatis 常用逻辑符号转换
- RabbitMQ插件--Trace的使用
- PAT (Top Level) Practise1019Separate the Animals (35)
- nodejs与RESTful API
- logback 日志总结
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 图像生成与图像模型——摄像机
- iPhone X 界面设计尺寸和适配【完整版】
- 实现简单的ImageLoader
- nginx配置优化+负载均衡+动静分离详解
- Mysql的7种join
- LeetCode 90. Subsets II