由于早期开放的一些API页码为0开始,后期接口修改为从1开始,为了兼顾之前的开放API,故无法统一。
对于POST接口建议使用postman模拟
在编写过程中如果遇到一些问题,也有一些参考项目,这里针对Java和Kotlin各自选择了一款:
当然你也可以在github上搜索wanandroid。
返回数据结构定义:
{
"data": ...,
"errorCode": 0,
"errorMsg": ""
}
所有的返回结构均为上述,其中errorCode如果为负数则认为错误,此时errorMsg会包含错误信息。data为Object,返回数据根据不同的接口而变化。
1.首页相关
1.1 首页文章列表
http://www.wanandroid.com/article/list/0/json
方法:GET
参数:页码,拼接在连接中,从0开始。
注意:页码从0开始,拼接在链接上。
1.2 首页banner
http://www.wanandroid.com/banner/json
方法:GET
参数:无
1.3 常用网站
http://www.wanandroid.com/friend/json
方法:GET
参数:无
1.4 搜索热词
即目前搜索最多的关键词。
http://www.wanandroid.com//hotkey/json
方法:GET
参数:无
2. 体系
2.1 体系数据
http://www.wanandroid.com/tree/json
方法:GET
参数:无
主要标识的网站内容的体系结构,二级目录。部分数据参考:
{
"children": [
{
"children": [],
"courseId": 13,
"id": 60, // id会在查看该目录下所有文章时有用
"name": "Android Studio相关", // 子名称
"order": 1000,
"parentChapterId": 150,
"visible": 1
},...
],
"courseId": 13,
"id": 150,
"name": "开发环境", // 一级的名称
"order": 1,
"parentChapterId": 0,
"visible": 1
}
2.2 知识体系下的文章
http://www.wanandroid.com/article/list/0?cid=60
方法:GET
参数:
cid 分类的id,上述二级目录的id
页码:拼接在链接上,从0开始。
3. 导航
3.1 导航数据
http://www.wanandroid.com/navi/json
方法:GET
参数:无
4. 项目
4.1 项目分类
http://www.wanandroid.com/project/tree/json
方法: GET
参数: 无
项目为包含一个分类,该接口返回整个分类。
[
{
"children": [],
"courseId": 13,
"id": 294, // 该id在获取该分类下项目时需要用到
"name": "完整项目", // 该分类名称
"order": 145000,
"parentChapterId": 293,
"visible": 0
}
]
4.2 项目列表数据
某一个分类下项目列表数据,分页展示
http://www.wanandroid.com/project/list/1/json?cid=294
方法:GET
参数:
cid 分类的id,上面项目分类接口
页码:拼接在链接中,从1开始。
5. 登录与注册
5.1 登录
http://www.wanandroid.com/user/login
方法:POST
参数:
username,password
5.2 注册
http://www.wanandroid.com/user/register
方法:POST
参数
username,password,repassword
登录后会在cookie中返回账号密码,只要在客户端做cookie持久化存储即可自动登录验证。
6. 收藏
注意所有收藏相关都需要登录操作,建议登录将返回的cookie(其中包含账号、密码)持久化到本地即可。
6.1 收藏文章列表
http://www.wanandroid.com/lg/collect/list/0/json
方法:GET
参数: 页码:拼接在链接中,从0开始。
6.2 收藏站内文章
http://www.wanandroid.com/lg/collect/1165/json
方法:POST
参数: 文章id,拼接在链接中。
注意链接中的数字,为需要收藏的id.
6.3 收藏站外文章
http://www.wanandroid.com/lg/collect/add/json
方法:POST
参数:
title,author,link
6.4 取消收藏
取消收藏一共有两个地方可以触发:
6.4.1 文章列表
id传入的是列表中文章的id。
image
6.4.2 我的收藏页面(该页面包含自己录入的内容)
id传入的是,我的收藏文章列表的id。
image
6.5 收藏网站列表
http://www.wanandroid.com/lg/collect/usertools/json
方法:GET
参数:无
6.6 收藏网址
http://www.wanandroid.com/lg/collect/addtool/json
方法:POST
参数:
name,link
6.7 编辑收藏网站
http://www.wanandroid.com/lg/collect/updatetool/json
方法:POST
参数:
id,name,link
6.8 删除收藏网站
http://www.wanandroid.com/lg/collect/deletetool/json
方法:POST
参数:
id
7. 搜索
7.1 搜索
http://www.wanandroid.com/article/query/0/json
方法:POST
参数:
页码:拼接在链接上,从0开始。
k : 搜索关键词
注意:支持多个关键词,用空格隔开