RestFul API最佳实践

定义

1、什么是Rest?

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。

2、什么是RestFul API?

  • Restful是一种软件设计风格,它遵循Rest约束条件和原则。

  • RestFul API 基于Rest理论,轻量级以及通过 HTTP 直接传输数据的特性,通常来说,使用JSON描述数据,可以使用各种语言(比如 Java 程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])实现客户端。

  • RestFul API基于资源,每个资源都有一个地址。资源的增删改查只是对于资源状态的改变。使用HTTP动词来操作资源,包括 HTTP GET、POST、PUT、DELETE,还可能包括 HEADER 和 OPTIONS。并且使用RestFul API每个动词都有明确的意义,不能随便使用。

3、RestFul API实践

3.1操作
  • POST:创建
  • PUT:更新
  • GET:查询
  • DELETE:删除
3.2状态码,错误码,统一错误描述

一般每个操作,都会对应一个状态码,这个状态码有框架设计,如get:200 post:201

  • 404 当前请求的页面没有找到(RestFul API资源没有找到)
  • 400 参数错误(验证层参数校验没有通过)
  • 200 一个get请求查询成功
  • 201 一个post 创建资源成功
  • 202 一个put更新资源成功(特别:在http应用中,202表示发送请求成功,服务器暂时没有处理)
  • 401 未授权
  • 403 当前资源被禁止
  • 500 服务器错误
    错误码:自定义的错误id号
    同意错误描述:错误码、错误信息、当前URL

4、使用Token令牌来授权和身份验证

5、开发

参考:
1、豆瓣API
https://developers.douban.com/wiki/?title=api_v2
2、

你可能感兴趣的:(RestFul API最佳实践)