RESTful测试地址html
JSONPlaceholdergit
http://jsonplaceholder.typicode.com/ https://github.com/typicode/jsonplaceholder#how-to
HTTP动词github
GET(SELECT):从服务器取出资源(一项或多项)。 POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。 PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。 DELETE(DELETE):从服务器删除资源。 HEAD:获取资源的元数据。 OPTIONS:获取信息,关于资源的哪些属性是客户端能够改变的。
例子:json
GET /tickets # 获取ticket列表 GET /tickets/12 # 查看某个具体的ticket POST /tickets # 新建一个ticket PUT /tickets/12 # 更新ticket 12. DELETE /tickets/12 #删除ticekt 12
资源api
单资源 (singular-resourceX )服务器
url样例:order/ (order即指那个单独的资源X) GET - 返回一个新的order POST- 建立一个新的order,从post请求携带的内容获取值。
单资源带id (singular-resourceX/{id} )restful
URL样例:order/1 ( order即指那个单独的资源X ) GET - 返回id是1的order DELETE - 删除id是1的order PUT - 更新id是1的order,order的值从请求的内容体中获取。
复数资源 (plural-resourceX/)app
URL样例:orders/ GET - 返回全部orders
复数资源查找(plural-resourceX/search)异步
URL样例:orders/search?name=123 GET - 返回全部知足查询条件的order资源。(实例查询,无关联) - order名字等于123的。
复数资源查找(plural-resourceX/searchByXXX)post
URL样例:orders/searchByItems?name=ipad GET - 将返回全部知足自定义查询的orders - 获取全部与items名字是ipad相关联的orders。
单数资源(singular-resourceX/{id}/pluralY)
URL样例:order/1/items/ (这里order即为资源X,items是复数资源Y) GET - 将返回全部与order id 是1关联的items。 singular-resourceX/{id}/singular-resourceY/ URL样例:order/1/item/ GET - 返回一个瞬时的新的与order id是1关联的item实例。 POST - 建立一个与order id 是1关联的item实例。Item的值从post请求体中获取。 singular-resourceX/{id}/singular-resourceY/{id}/singular-resourceZ/ URL样例:order/1/item/2/package/ GET - 返回一个瞬时的新的与item2和order1关联的package实例。 POST - 建立一个新的与item 2和order1关联的package实例,package的值从post请求体中得到。
状态码
200 OK - [GET]:服务器成功返回用户请求的数据,该操做是幂等的(Idempotent)。 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务) 204 NO CONTENT - [DELETE]:用户删除数据成功。 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操做,该操做是幂等的。 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户获得受权(与401错误相对),可是访问是被禁止的。 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操做,该操做是幂等的。 406 Not Acceptable - [GET]:用户请求的格式不可得(好比用户请求JSON格式,可是只有XML格式)。 410 Gone -[GET]:用户请求的资源被永久删除,且不会再获得的。 422 Unprocesable entity - [POST/PUT/PATCH] 当建立一个对象时,发生一个验证错误。 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将没法判断发出的请求是否成功。
参考
RESTful API 设计最佳实践 http://blog.jobbole.com/41233/ RESTful 接口规范 http://www.coderli.com/translate-restful-standard-resolved/ RESTful HTTP的实践 http://www.infoq.com/cn/articles/designing-restful-http-apps-roth RESTful API 设计指南 http://www.ruanyifeng.com/blog/2014/05/restful_api.html