欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 【前端】NodeJS:API(接口)

【前端】NodeJS:API(接口)

2024/12/1 5:39:56 来源:https://blog.csdn.net/weixin_45980065/article/details/141176643  浏览:    关键词:【前端】NodeJS:API(接口)

文章目录

  • 1 简介
    • 1.1 接口是什么
    • 1.2 接口的作用
    • 1.3 接口的开发与调用
    • 1.4 接口的组成
  • 2 RESTful API
  • 3 json-server
  • 4 接口测试工具

1 简介

1.1 接口是什么

  • 接口是前后端通信的桥梁。
  • 简单理解:一个接口就是服务中的一个路由规则 ,根据请求响应结果。
  • 接口的英文单词是API(Application Program Interface),所以有时也称之为API接口。
  • 这里的接口指的是『数据接口』, 与编程语言(Java,Go 等)中的接口语法不同。
  • 一个接口就好比是一个服务端中的路由规则,路由规则可以接受客户端发送过来的请求,并且给客户端响应结果,接口给客户端返回结果时,这个数据一般是JSON格式的。

1.2 接口的作用

实现前后端通信。

  • 前端:浏览器网页、安卓APP、苹果APP、小程序、游戏…
  • 后端:HTTP 服务

1.3 接口的开发与调用

  • 大多数接口都是由后端工程师开发的,开发语言不限。
  • 一般情况下接口都是由前端工程师调用的,但有时后端工程师也会调用接口,比如短信接口,支付接口等。

1.4 接口的组成

一个接口一般由如下几个部分组成:

  • 请求方法
  • 接口地址(URL)
  • 请求参数
  • 响应结果

一个接口示例:https://www.free-api.com/doc/325。
在这里插入图片描述
体验一下:https://api.asilu.com/idcard/?id=371522199111299668。

2 RESTful API

RESTful API是一种特殊风格的接口,主要特点有如下几个:

  • URL中的路径表示资源,路径中不能有动词,例如create、delete、update等这些都不能有。
  • 操作资源要与HTTP请求方法对应。
  • 操作结果要与HTTP响应状态码对应。

规则示例:

操作请求类型URL返回
新增歌曲POST/song返回新生成的歌曲信息
删除歌曲DELETE/song/10返回一个空文档
修改歌曲(全部替换)PUT/song/10返回更新后的歌曲信息
修改歌曲(部分替换)PATCH/song/10返回更新后的歌曲信息
获取所有歌曲GET/song返回歌曲列表数组
获取单个歌曲GET/song/10返回单个歌曲信息

扩展阅读:https://www.ruanyifeng.com/blog/2014/05/restful_api.html。

3 json-server

json-server 本身是一个JS编写的工具包,可以快速搭建RESTful API服务。
官方地址:https://github.com/typicode/json-server。
操作步骤:

  • 全局安装json-server:npm i -g json-server
  • 创建JSON文件(db.json),编写基本结构:
{"song": [{ "id": 1, "name": "干杯", "singer": "五月天" },{ "id": 2, "name": "当", "singer": "动力火车" },{ "id": 3, "name": "不能说的秘密", "singer": "周杰伦" }]
}
  • 以JSON文件所在文件夹作为工作目录,执行命令:json-server --watch db.json
  • 默认监听端口为3000。

4 接口测试工具

介绍几个接口测试工具:

  • apipost:https://www.apipost.cn/ (中文)。
  • apifox:https://www.apifox.cn/ (中文)。
  • postman:https://www.postman.com/ (英文)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com