首页 > 编程语言 >nodejs学习07——API

nodejs学习07——API

时间:2024-05-16 11:52:19浏览次数:27  
标签:07 nodejs song 接口 server json API 歌曲 https

接口

一、简介

1.1 接口是什么

接口是 前后端通信的桥梁
简单理解:一个接口就是 服务中的一个路由规则 ,根据请求响应结果
接口的英文单词是 API (Application Program Interface),所以有时也称之为 API 接口
这里的接口指的是『数据接口』, 与编程语言(Java,Go 等)中的接口语法不同

1.2 接口的作用

实现 前后端通信

1.3 接口的开发与调用

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

1.4 接口的组成

一个接口一般由如下几个部分组成
请求方法
接口地址(URL)
请求参数
响应结果
一个接口示例 https://www.free-api.com/doc/325

体验一下: https://api.asilu.com/idcard/?id=371522199111299668

二、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

三、json-server

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

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

若报错:json-server : 无法加载文件 ...\npm\json-server.ps1,因为在此系统上禁止运行脚本。
解决:以管理员身份运行powershell(快捷键:windows+X)
输入如下指令:
set-executionpolicy remotesigned
输入Y
参考:https://blog.csdn.net/qq_42829970/article/details/117259381

四、接口测试工具

介绍几个接口测试工具
apipost https://www.apipost.cn/ (中文)
apifox https://www.apifox.cn/ (中文)
postman https://www.postman.com/ (英文)

标签:07,nodejs,song,接口,server,json,API,歌曲,https
From: https://www.cnblogs.com/htj10/p/18195651

相关文章

  • 免费的天气接口api(腾讯)
    请求URL:https://wis.qq.com/weather/common请求方式:GET参数:参数名必选类型说明source是stringpcweather_type是stringobserveprovince是string省city是string市county是string县 请求示例https://wis.qq.com/weather/common?source=pc&weather_typ......
  • 使用Docker Desktop部署Apache APISIX
    使用DockerDesktop部署ApacheAPISIX说明测试系统:Windows11专业版23H2Docker:DockerDesktopv4.29.0+关于路径,“/e/Soft/conf/apisix/conf/config.yaml”代表windows系统下的文件“E:\Soft\conf\apisix\conf\config.yaml”Windows使用PowerShell运行Docker的Run......
  • apisix~authz-keycloak插件介绍
    参考:https://apisix.apache.org/docs/apisix/plugins/authz-keycloak/kc插件源码梳理及原理说明如果只是进行keycloak颁发的token进行校验(签名校验和有效期校验),那么我们可以使用jwt-auth这个插件实现,并且已经对这个插件进行二次开发,支持jwt内容解析与向下请求头的传递。作用......
  • 营业执照识别接口:通过API实现营业执照识别功能
      营业执照识别接口是一种通过API实现的功能,可以对不同版式的营业执照进行识别,提取其中的证件编号、社会信用代码、单位名称、地址、法人、类型、成立日期、有效日期、经营范围等关键字段。这个功能在很多场景下都可以发挥作用,比如在企业注册、信用查询、合作伙伴选择等方面......
  • N5_2013_07_Q1
    1ばん教室で先生が話しています。学生は明日の朝どこで先生に会いますか老师正在教室讲话,学生明天早上在哪里见老师呢?皆さん、明日は古い町を見に行きます明天我们去看古老的城镇。9時の電車に乗りますよ。乘坐9点的火车。きょうしつ(教室)名教室せんせい(先生)名......
  • N5_2013_07_Q2
    问题21ばん男の学生と女の学生が話しています。男の学生は帽子を誰にもらいましたか。帽子です。男学生和女学生在谈话。男学生的帽子是谁送的?おはよう早上好。おはよう、リンさん。きれいな色のセーターですね。早上好,琳、毛衣的颜色真漂亮。おはよう感叹......
  • P1807 最长路
    链接:https://www.luogu.com.cn/problem/P1807其实没什么难的,注意点:拓扑排序,把非1的入度为0的点及其衍生点全删了,不然会到一半无法拓扑下去。关键在于我之前那个删点的操作,先看错误代码:...voidclearpoint(llix){ for(lli=0;i<G[ix].size();i++) { rd[G[ix][i]]-......
  • 【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码
    问题描述对于Azure资源进行配置操作,门户上可以正常操作。但是想通过Python代码实现,这样可以批量处理。那么在没有SDK的情况下,是否有快速办法呢? 问题解答当然可以,AzurePortal上操作的所有资源都是通过RESTAPI来实现的,所以只要找到正确的API,就可以通过浏览器中抓取到的请求B......
  • P1077 [NOIP2012 普及组] 摆花
    P1077[NOIP2012普及组]摆花题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过a[i]盆,摆花时同一种花放在一起,且不同种类的花需按标号的......
  • nodejs 原生服务起一个httpServer
    离开express、koa、egg你还会利用原生node写后端的http服务吗?这里有一个例子,原生node起http服务。返回了静态页面文件、字符串拼接的html,json对象和优化404。做个备忘吧!import{createServer}from"http";importpathfrom'path';import{__dirname}from'./utils/i......