REST风格的博客 API设计

本博客介绍REST风格的博客API设计。

REST

在 2000 年,Roy Fielding 提议使用表述性状态转移 (REST) 作为设计 Web 服务的体系性方法。 REST 是一种基于超媒体构建分布式系统的架构风格。 REST 独立于任何基础协议,并且不一定绑定到 HTTP。 但是,最常见的 REST 实现使用 HTTP 作为应用程序协议。

REST API 使用统一接口,这有助于分离客户端和服务实现。 对于基于 HTTP 构建的 REST API,统一接口包括使用标准 HTTP 谓词对资源执行操作。 最常见的操作是 GET、POST、PUT、PATCH 和 DELETE。

Blog

模仿CSDN博客的页面组织和github的API,我们将博客划分为2个组织元:Users和Blogs。Users下为用户信息,Blogs下为各博文信息。

Users

usage:

GET api.blog.com/users/:username

字段设计

FieldsMeaningType
username用户名string
id用户idnumber
url用户api的urlstring
html_url用户主页的urlstring
profile_url用户头像的urlstring
followers_number粉丝数number
like_number获赞数number
comment_number评论数number
rank用户排名number
original_blogs_number原创文章数number
blogs_url博客的urlstring
columns_url用户专栏的urlstring
visited_number博客访问总数number
company用户公司string

{
  "username": "username",
  "id": 30189965,
  "url": "https://api.blog.com/users/username",
  "html_url": "https://blog.com/username",
  "profile_url": "https://blog.com/profile/username.png",
  "followers_number": 27,
  "like_number": 35,
  "comment_number": 15,
  "visited_number": 60000,
  "rank": 10020,
  "original_blogs_number": 96,
  "blogs_url": "https://api.blog.com/username/blogs",
  "columns_url": "https://api.blog.com/columns/username",
  "company": null
}

Blogs

usage:

GET api.blog.com/blogs/:username/:blogname

字段设计

FieldsMeaningType
id博客idnumber
name博客名字string
owner博客作者json
url博客api的urlstring
html_url博客网页的urlstring
original是否原创bool
visited_number博客访问数number
created_time博客发布时间number
content内容string
like_number点赞数number

{
  "name": "hello world",
  "id": 3018996,
  "url": "https://api.blog.com/blog/username/blogname",
  "html_url": "https://blog.com/username/blogname",
  "owner": {
  	"username": "username",
    "id" : 158840,
    "url": "https://api.blog.com/users/username"
  },
  "like_number": 5,
  "visited_number": 600,
  "created_time": 1574346009,
  "original": true,
  "content": "<h1>hello world</h1>"
}

References

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值