zoukankan      html  css  js  c++  java
  • REST、RESTful 与 RESTful API

    转载:https://blog.csdn.net/xiaojin21cen/article/details/78696943

    REST

    REST 即 REpresentational State Transfer 。 
    State Transfer 为 “状态传输” 或 “状态转移 “,Representational 中文有人翻译为”表征”、”具象”。合起来就是 “表征状态传输” 或 “具象状态传输” 或 “表述性状态转移”

    REST是一种软件架构风格。主要有以下特点:

    • 1.资源通过URL来指定和操作。
    • 2.对资源的操作包括获取、创建、修改和删除,正好对应HTTP协议的GET,POST,PUT和DELETE方法。
    • 3.连接是无状态性的。
    • 4.能够利用Cache机制来提高性能。”

    它基于HTTP协议,并不涉及新的技术,而且与SOAP,XML-RPC相比,更加简洁、高效。

    这里谈谈我对这四个设计原则的理解。

    显式地使用 HTTP 方法

    这个是对Web方式的回归。通过显式的调用HTTP的方法(POST、GET、PUT 和 DELETE)来完成资源数据的CURD。

    无状态

    出于对服务更好地支持负载均衡和故障转移功能、代理和网关的服务器集群功能设计。

    公开目录结构式的 URI

    资源结构的规范化。目录结构式也是资源结构设计时要考虑的问题,如何设计资源的结构来支持系统的业务?特别是多参数查询业务。

    传输 XML、JavaScript Object Notation (JSON),或同时传输这两者

    客户端请求选用最适合的特定内容类型。服务的构造应该利用内置的 HTTP Accept Header,其中该 Header 的值为 MIME 类型。

    总体来看,REST风格的工作主要集中在系统的设计阶段,要求按照其原则来设计资源的结构和API。这有利于后期的维护和扩展。

    RESTful

    REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

    HTTP 请求在 RESTful Web 服务中的典型应用

    资源GETPUTPOSTDELETE
    一组资源的 URI,比如 http://www.example.com/resources/ 列出 URI 及该资源组中每个资源的详细信息 使用一组给定的资源替换当前整组资源 在本组资源中创建 /追加一个新资源 删除整组资源
    单个资源的 URI,比如 http://www.example.com/resources/1 获取给定资源的详细信息 替换 / 创建指定的资源,并将其追加到相应的资源组 把指定的资源作为资源组,并在其下创建 / 追加一个新元素,使其隶属于当前资源 删除指定元素

    RESTful API

    RESTful API 是一套互联网应用程序的 API 设计理论。

    RESTful API 的返回结果应该符合以下规范

    GET /collection:返回资源对象的列表(数组) 
    GET /collection/resource:返回单个资源对象 
    POST /collection:返回新生成的资源对象 
    PUT /collection/resource:返回完整的资源对象 
    PATCH /collection/resource:返回完整的资源对象 
    DELETE /collection/resource:返回一个空文档

  • 相关阅读:
    [hive]case 语句中字符串匹配
    shell-删除指定时间前的文件
    tensorflow expand_dims和squeeze
    nexus建立maven仓库私服及Snapshots、release的版本管理
    FileChannel指南
    java8关于时间的新特性
    java程序加到系统托盘的方法
    java程序 避免重复启动的方法
    httpClient 进行get请求
    springboot 多线程的使用
  • 原文地址:https://www.cnblogs.com/mybatis/p/9395710.html
Copyright © 2011-2022 走看看