Skip to content
A RESTful HTTP class based on axios. 基于 axios 的 ajax 简单封装,遵循 RESTful 规范,提供更人性化的 API。
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
rest.js

README.md

介绍

基于 axios 的 ajax 简单封装,遵循 RESTful 规范,提供更人性化的 API。

下载

$ git clone git@github.com:zhaotoday/rest.git

使用

继承 REST

class Model extends REST {
  constructor () {
    super()

    this.baseURL = consts.ARTICLE_API
    this.version = 'v0.1'
    this.path = 'articles'
    this.headers = {
      authorization: 'abc'
    }
  }
}

获取文章列表前 10 条记录

GET /articles?$offset=0&$limit=10

new Model().GET({
  params: {
    $offset: 0,
    $limit: 10
  }
})

获取 ID 为 1 的文章详情

GET /articles/1

new Model().GET({
  uri: 1
})

获取 ID 为 1 的文章的所有作者列表

GET /articles/1/authors

new Model()
  .addPath('{article_id}/authors')
  .replace({
    'article_id': 1
  })
  .GET()

获取 ID 为 1 的文章的 ID 为 2 的作者详情

GET /articles/1/authors/2

new Model()
  .addPath('1/authors')
  .GET({
    uri: 2
  })

新增 1 篇文章

POST /articles

new Model().POST({
  data: {
    title: 'Vue',
    content: 'How to use Vue.'
  }
})

编辑 ID 为 1 的文章

PUT /articles/1

new Model().PUT({
  uri: 1,
  data: {
    title: 'jQuery',
    content: 'How to use jQuery'
  }
})

删除 ID 为 1 的文章

DELETE /articles/1

new Model().DELETE({
  uri: 1
})

处理请求结果

new Model().GET().then((res) => {
  console.log(res)
}).catch((err) => {
  console.log(err)
})
You can’t perform that action at this time.