zoukankan      html  css  js  c++  java
  • RESTFUL规范

    1.简单概述

      REST,即Representational State Transfer的缩写。RESTful架构,是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制,所以正得到越来越多网站的采用。如果一个架构符合REST原则,就称它为RESTful架构。

      简单理解,就是程序之间相互交互的一种规则。

    2.具体规则概括

    1. https代替http,保证数据传输时安全。


    2. 在url中一般要体现api标识
    http://www.luffycity.com/api/....(建议,因为他不会存在跨域的问题)
    http://api.luffycity.com/....


    3. 在接口中要体现版本
    http://www.luffycity.com/api/v1....(建议,因为他不会存在跨域的问题)
    注意:版本还可以放在请求头中
    http://www.luffycity.com/api/
    accept: ...

    4. restful也称为面向资源编程,视网络上的一切都是资源,对资源可以进行操作,所以一般资源都用名词。
      http://www.luffycity.com/api/user/

    5. 如果要加入一些筛选条件,可以添加在url中
      http://www.luffycity.com/api/user?page=1&type=9

      http://www.luffycity.com/api/user/1

    6. 根据method不同做不同操作,GET,POST,PUT,PATCH,DELETE .

    7. 无论请求是否成功,都需要返回给用户状态码
    - 200,成功
    - 300,301永久 /302临时
    - 400,403拒绝 /404找不到
    - 500,服务端代码错误

    - .........

    # 详细状态码,请去网站查找


    很多公司这么使用:

    def get(self,request,*args,**kwargs):
      result = {'code':1000,'data':None,'error':None}
      try:
        val = int('你好')
      except Exception as e:
        result['code'] = 10001
        result['error'] = '数据转换错误'
      return Response(result)


    8. 请求成功需要有返回值,让前端渲染数据。
    GET http://www.luffycity.com/api/user/
    [
    {'id':1,'name':'alex','age':19},
    {'id':1,'name':'alex','age':19},
    ]
    POST http://www.luffycity.com/api/user/
    {'id':1,'name':'alex','age':19}

    GET http://www.luffycity.com/api/user/2/
    {'id':2,'name':'alex','age':19}

    PUT http://www.luffycity.com/api/user/2/
    {'id':2,'name':'alex','age':19}

    PATCH https//www.luffycity.com/api/user/2/
    {'id':2,'name':'alex','age':19}

    DELETE https//www.luffycity.com/api/user/2/


    9. 操作异常时,要返回错误信息

    {
    error: "Invalid API key"
    }


    10. 对于下一个请求要返回一些接口:Hypermedia AP
    {
    'id':2,
    'name':'alex',
    'age':19,
    'depart': "http://www.luffycity.com/api/user/30/"
    }

  • 相关阅读:
    【推荐】iOS汉字转拼音第三方库
    iOS实现图像素描效果
    iOS实现图像的反色,怀旧,色彩直方图效果
    iOS实现图像指定区域模糊
    iOS 9.2新增API
    讲讲我的开发生涯
    iOS第三方类库汇总【持续更新】
    美图秀秀-美化图片之【背景虚化】界面设计
    美图秀秀-美化图片之【特效】界面设计
    iOS二十种超酷时尚艺术滤镜汇总【附源码】
  • 原文地址:https://www.cnblogs.com/zhuzhizheng/p/11917359.html
Copyright © 2011-2022 走看看