Skip to content

anotheros/readthis-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Readthis API 文档

Readthis

android 端移步此处

ios 端移步到此处

白皮书

功能点

手绘图

产品方向目标

lite版本需求说明

api 根目录 api.100000p.com

注意 该api 支持 http2 。 http2 比http1.1 更强悍。

API 文档

👉👉👉修改记录日志必看👈👈👈

注册

授权

时间线

文章

根据url查文章

用户

个性域名

微刊

社群

标签

远程页面

Android 更新api

设置页面 api

设计规范

Readthis 的 API 遵循现代 RESTful API 设计规范.

我不想bb什么是restful了。看下面

api风格 参考

阮一峰博客

ios对应风格api 参考

这有一本书 iOS Apps with REST APIs

api约定

  1. 请求list列表时 都需要带上参数,size。 返回时,头部都会返回 count: 个数。

  2. 如果查询只要id,则 在原来地址请求的对象下 加 _id 即可。文档中没有体现

例如 /v2/collections/:collectionId/articles_id 表示查某一微刊下的所有文章的id。

  1. 当返回文章数组时候,不包括文章内容body字段。当返回单个文章时,返回body字段。

问题汇总。

1.分页问题。

使用游标。取列表最后一个的id,作为下一个请求的cursor参数。

第一次请求 20 条,显示10条,另外10条缓存起来,然后 加载更多的时候,从缓存中取出10条;然后从服务器请求10条 放缓存里。如果返回没有数据,则认为到达底部。这样好处是 体验上感觉很快。

2.登录问题

需要登录才能访问的api,如果没有登录,则返回 401 状态码。

登录需要在header里 写入 Token 。 Linux curl 示意,

curl -H "Token: xxxxx" http://xxxxx

所有api最好都带上 Token,除了注册登录。

3.返回415 怎么办。 http 头 需要加上

Content-type: application/json;charset=UTF-8

4.错误信息 从返回的 header 里的 code 里取得 错误码,body 返回如下实体。含义如下。

点这里查看 404 的例子

{
"httpCode": 2003,
"httpMsg": "没有这个文章"
}
code 中文 英文
1001 校验码不能为空 code is not empty
1002 email不能为空 email is not empty
1003 注册失败 regist is fail
1004 token 失效或者不正确 token is illegal
1005 密码不正确或者用户不存在 Email does not exist or password is incorrect
1006         用户名不可用 username does exist
2001 收藏夹名字不能为空 collections name can not be null
2002 没有这个收藏夹 this collections does not exist
2003 没有这个文章 this article does not exist
2004 这个文章已经存在 this article does exist
2005 url地址在黑名单中 this article in the blacklist
2006 没有在这个收藏夹中找到该文章 this article not in this collections
2007         没有在这个标签 tag does not exist
2008         收藏夹名字已经存在 collections name does exist
2009         收藏夹id不能为空 collectionsid can not be null
3001         未找到该用户 this user does not exist
4001 社群名字不能为空 community name can not be null
4006 没有在这个社群中找到该文章 this article not in this community
4008         社群名字已经存在 community name does exist
4009         社群id不能为空 community can not be null
9001 参数校验不合法 Illegal parameter calibration
9401 没有登录 not login
9403 没有权限 not auth
9404 未找到 not fond
9507 服务器存储失败 Insufficient Storage
9999         其他系统错误 system error