最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • RESTful原则

    正文概述 掘金(九至久窒)   2021-08-21   512

    RESTful 六大原则

    1. C-S 架构

    数据的存储在Server端,Client端只需使用就行。两端彻底分离的好处使client端代码的可移植性变强,Server端的拓展性变强。两端单独开发,互不干扰。

    2. 无状态

    http请求本身就是无状态的,基于C-S架构,客户端的每一次请求带有充分的信息能够让服务端识别。请求所需的一些信息都包含在URL的查询参数、header、body,服务端能够根据请求的各种参数,无需保存客户端的状态,将响应正确返回给客户端。无状态的特征大大提高的服务端的健壮性和可拓展性。

    当然这总无状态性的约束也是有缺点的,客户端的每一次请求都必须带上相同重复的信息确定自己的身份和状态(这也是必须的),造成传输数据的冗余性,但这种确定对于性能和使用来说,几乎是忽略不计的。

    3. 统一的接口

    这个才是REST架构的核心,统一的接口对于RESTful服务非常重要。客户端只需要关注实现接口就可以,接口的可读性加强,使用人员方便调用。

    4. 一致的数据格式

    服务端返回的数据格式要么是XML,要么是Json(获取数据),或者直接返回状态码。

    系统分层:客户端通常无法表明自己是直接还是间接与端服务器进行连接,分层时同样要考虑安全策略。

    5. 可缓存

    在万维网上,客户端可以缓存页面的响应内容。因此响应都应隐式或显式的定义为可缓存的,若不可缓存则要避免客户端在多次请求后用旧数据或脏数据来响应。管理得当的缓存会部分地或完全地除去客户端和服务端之间的交互,进一步改善性能和延展性。

    6. 按需编码、可定制代码(可选)

    实践

    1. 版本

    https://example.com/api/v1/
    

    2. 参数命名规范

    例如:驼峰命名法,下划线命名法

    3. url命名规范

    https://example.com/api/getallUsers GET 获取所有用户
    https://example.com/api/getuser/1 GET 获取标识为1用户信息
    https://example.com/api/user/delete/1 GET/POST 删除标识为1用户信息
    https://example.com/api/updateUser/1 POST 更新标识为1用户信息
    https://example.com/api/User/add POST 添加新的用户
    

    4. 统一返回数据格式

    例如json格式:

    //成功的响应
    {
      "code": 200,
      "message": "success",
      "data": {
        "userName": "123456",
        "age": 16,
        "address": "beijing"
      }
    }
    
    //失败的响应
    {
      "code": 401,
      "message": "error  message",
      "data": null
    }
    

    起源地下载网 » RESTful原则

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元