模仿 Github,设计一个博客网站的 API

一、概述
API是Application Programming Interface(应用程序接口)的缩写,它是拿来描述一个类库的特征或是如何去运用它。

REST(Representational State Transfer)是Roy Fielding博士在2000年提出的软件软件架构模式。REST 是一种风格,而不是标准。因为既没有 REST RFC,也没有 REST 协议规范或者类似的规定。它只是提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。Roy Fielding 把 REST 定义成一种架构风格,其目标是“使延迟和网络交互最小化,同时使组件实现的独立性和扩展性最大化”。

二、GITHUB API

在这里插入图片描述
三、API设计

  1. 登录
    curl -i https://api.blogexample.com -u "username":"password"

访问成功显示


HTTP/1.1 200 OK
{
  "message": "GET success",
  "userName": "user1"
}

失败显示

HTTP/1.1 401 Unauthorized
{
  "message": "Bad credentials",
  "documentation_url": "https://developer.blogexample.com"
}
  1. GET

获取所有的blog

GET /user/dxy/blogs

获取用户信息

GET /user/:username
  1. 发布博客
    POST指令在服务器新建一个资源,提供文章的内容和标题
POST /:username/myblog/publish

用JSON形式发送标题和内容

curl -i 'https://api.blogexample.com/user1/myblog/publish' -d '{"title":"mytitle","content":"content...."}'

成功显示201

HTTP/1.1 201 Create
{
  "blog": '{
    "blogID":1,
    "blogTitle":"t",
    "content":"c"
    }',
    "link":"https:blogexample.com/myblog/1",
    "createTime":"xxx"
  "documentation_url": "https://developer.blogexample.com"
}
  1. 更新博客
    指令:
PUT /:username/myblog/update

JSON:

curl -i 'https://api.blogexample.com/user1/myblog/update?blogid=01' -d '{"title":"mytitle","content":"content...."}' 

更新成功后显示200

  1. 删除博客
    删除指令
DELETE /:username/myblog/delete

JSON:

curl -i 'https://api.blogexample.com/user1/myblog/delete?blogid=05'

删除成功显示


HTTP/1.1 404 Not Found
{
  "message": "blog doesn't exist",
  "documentation_url": "https://developer.blogexample.com"
}

404显示不存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值