所有接口
请求根域名 http://123.57.109.30:3006
案例 - 图书相关
获取
- 请求方式: GET
- 请求地址: 根域名/api/getbooks
- 请求参数:
不传参获取所有默认书籍, 也可以选择传递下面任意1-多个参数, 获取指定的相关书籍信息
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| id | Number | 否 | 图书Id |
| bookname | String | 否 | 图书名称 |
| author | String | 否 | 作者 |
| publisher | String | 否 | 出版社 |
| appkey | String | 否 | 个人ID |
{
"status": 200,
"msg": "获取图书列表成功",
"data": [
{ "id": 1, "bookname": "西游记", "author": "吴承恩", "publisher": "北京图书出版社" },
{ "id": 2, "bookname": "红楼梦", "author": "曹雪芹", "publisher": "上海图书出版社" },
{ "id": 3, "bookname": "三国演义", "author": "罗贯中", "publisher": "北京图书出版社" }
]
}
添加
- 请求方式: POST
- 请求地址: 根域名/api/addbook
- 请求参数:
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| bookname | String | 是 | 图书名称 |
| author | String | 是 | 作者 |
| publisher | String | 是 | 出版社 |
| appkey | String | 是 | 个人ID |
{
"status": 201,
"data": {
"author": "施大神"
"bookname": "水浒传2"
"id": 41
"publisher": "未来出版社"
}
"msg": "添加图书成功"
}
删除
- 请求方式: GET (以后会学习DELETE方式, 这里暂时先用GET)
- 请求地址: 根域名/api/delbook
- 参数格式:
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| id | Number | 是 | 图书Id |
| appkey | String | 是 | 个人ID |
{
"status": 200,
"msg": "删除图书成功!"
}
案例 - 机器人相关
获取对话信息
每次用户发送消息后, 调用此接口, 把用户消息发送给后台, 后台会返回机器人回复的话语字符串
- 请求方式: GET
- 请求地址: 根域名/api/robot
- 请求参数
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| spoken | String | 是 | 用户发送的消息 |
{
data: {
type: 5000,
info: {
text: "哟~ 都好都好"
}
},
message: "success"
}
获取语音链接
- 请求方式: GET
- 请求地址: 根域名/api/synthesize
- 请求参数
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| text | String | 是 | 要转换语言的字符串 |
{
message: "success"
status: 200
voiceUrl: "https://dds.dui.ai/runtime/v1/synthesize?voiceId=qianranfa&speed=0.8&volume=100&audioType=wav&text=3"
}
上传文件
{
data: {
username: "4444"
},
message: "上传文件成功!",
status: 200,
url: "http://123.57.109.30:3006/uploads/1606467015584_faec0f0ac0c549b4b445dab627f5cdd9.png"
}
案例 - 评论相关
获取评论
- 请求方式: GET
- 请求地址: 根域名/api/cmtlist
- 请求参数
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| page | Number | 是 | 页码数(从1开始) |
| appkey | String | 是 | 用户ID |
{
"status":200,
"msg":"获取评论列表成功",
"data": [
{
"id":42,
"username":"小川同学",
"content":"这是一条评论消息呀",
"time":"2020-11-23 23:24:41"
}
],
"allPage":2
}
新增评论
- 请求方式: POST
- 请求地址: 根域名/api/addcmt
- 请求参数
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| appkey | String | 是 | 用户ID |
| username | String | 是 | 评论用户名称 |
| content | String | 是 | 评论内容 |
{
"status":201,
"msg":"发表评论成功"
}
删除评论
- 请求方式: GET (以后学了DELETE会使用这个方式, 其实就是跟后端对上就行, 用什么方式无所谓, 用DELETE语义更明确)
- 请求地址: 根域名/api/delcmt
- 请求参数
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| id | Number | 是 | 评论信息的ID |
| appkey | String | 是 | 用户ID |
{
"status":200,
"msg":"删除评论成功!",
"allPage":1
}
超时接口
- 请求方式: GET
- 请求地址: 根域名/api/st
- 请求参数: 无参数
- 返回示例: 无返回 - 为了测试前端超时的判断效果而已
案例 - 新闻接口
- 请求方式: GET
- 请求地址: 根域名/api/news
- 请求参数
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| page | Number | 是 | 页码 |
{
"status":200,
"msg":"获取新闻列表成功",
"data":[
{
"id":1,
"title":"1.5G商用在即,三大运营商营收持续下降",
"source":"新京报经济新闻",
"cmtcount":58,
"tags":"三大运营商,中国移动,5G商用",
"img":"/images/0.webp",
"time":"2019-10-28T03:50:28.000Z"
}
]
}
jsonp测试接口
- 请求方式: 不用Ajax, 而是用script的src - (因为这种没有跨域限制) - 只能是GET请求
- 请求地址: 根域名/api/jsonp
- 请求参数: (如果有更多, 只能在URL后面拼接)
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| callback | String | 是 | 回调函数名字 |
jsonp第二个2测试接口
- 请求方式: 不用Ajax, 而是用script的src - (因为这种没有跨域限制)
- 请求地址: 根域名/api/jsonp2
- 请求参数: (如果有更多, 只能在URL后面拼接)
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| cb | String | 是 | 回调函数名字 |
反向代理-测试接口
- 请求方式: GET
- 请求地址: 根域名/api/163news
- 请求参数: 无参数
商品搜索-回调地狱演示
一级分类
{
"msg":"恭喜你, 操作成功",
"code":200,
"list":[
{"id":1,"firstId":"621","firstName":"咖啡","firstImgId":"2dfe06e6-2707-11e9-8040-e0accb719100"},
{"id":2,"firstId":"627","firstName":"饮食","firstImgId":"2e4ab217-2707-11e9-96fc-e0accb719100"},
{"id":3,"firstId":"279","firstName":"男装","firstImgId":"2ecf479c-2707-11e9-9381-e0accb719100"}
]
}
二级分类
- 请求方式: GET
- 请求地址: 根域名/api/categorySecond
- 请求参数:
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| firstId | String | 是 | 一级分类firstId(上个接口获取的) |
{
"msg":"恭喜你, 操作成功",
"code":200,
"list":[
{"id":1,"secondId":"622","secondName":"咖啡","firstId":"621"}
]
}
三级分类
- 请求方式: GET
- 请求地址: 根域名/api/categoryThird
- 请求参数:
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| secondId | String | 是 | 二级分类secondId(上个接口获取的) |
{
"msg":"恭喜你, 操作成功",
"code":200,
"list":[
{"id":1,"thiredId":"624","thiredName":"咖啡粉","secondId":"622","thirImgId":"2e30bb68-2707-11e9-b531-e0accb719100"},
{"id":2,"thiredId":"623","thiredName":"咖啡豆","secondId":"622","thirImgId":"2e3d7ff5-2707-11e9-8c2c-e0accb719100"}
]
}
商品列表
- 请求方式: GET
- 请求地址: 根域名/api/goodslist
- 请求参数:
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| thirdId | String | 是 | 三级分类thirdId(上个接口获取的) |
{
"msg":"恭喜你, 操作成功",
"code":200,
"list":[
{"id":1,"status":"1","goodsId":"1302465003000100001","firstId":"621","secondId":"622","thiredId":"624","goodsName":"ANNY法式深焙袋冲咖啡(2*30g、非速溶咖啡)"}
]
}
淘宝搜索
| 参数名称 | 参数类型 | 是否必选 | 参数说明 |
|---|
| q | String | 是 | 输入框关键字(要url编码后) |
jQuery34104374435004415409_1606471107771(
{
"result":[
["12pro手机壳","58734.12369243851"],
["12promax 手机壳","173305.7419680675"],
["11手机壳","200725.71157244474"],
["11苹果手机壳","114873.59806278707"],
["11promax手机壳","289287.0641240851"],
["11pro手机壳","132314.46695816357"]
]
}
)
参数类型
GET方式
直接在url后面拼接?key=value&key=value格式字符串即可
POST方式
- (默认) - application/application/x-www-form-urlencoded (告诉后台参数格式是:key=value&key=value的字符串形式)
- multipart/form-data (多部分的表单数据, 二进制流) - (告诉后台参数格式是二进制流片段形式, 请用对应方式接受解析)
- application/json (告诉后台传递的是JSON字符串 '{"key": value, "key":value}'
总结
- 请求方式GET / POST / ... 要与后端对应上
- 请求的参数名 要与后端对应上
- 传参的值的类型, 要与后端对应上
返回值状态
- 200 - 代表获取 / 删除 成功
- 201 - 代表新增成功
- 500 - 代表后台代码报错