• Restful


    Restful对应的中文是rest式的;或者叫rest风格的
    rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构).

    在Restful之前的操作:
    http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
    http://127.0.0.1/user/save POST 新增用户
    http://127.0.0.1/user/update POST 修改用户信息
    http://127.0.0.1/user/delete GET/POST 删除用户信息

    RESTful用法:
    http://127.0.0.1/user/1 GET 根据用户id查询用户数据
    http://127.0.0.1/user POST 新增用户
    http://127.0.0.1/user PUT 修改用户信息
    http://127.0.0.1/user DELETE 删除用户信息

     

    一旦定义好了资源, 需要确定什么样的 actions 应用它们,这些 actions 怎么映射到你的 API 上。RESTful 原则提供了 HTTP methods 映射作为策略来处理 CRUD actions,如下:

    GET /tickets - 获取 tickets 列表
    GET /tickets/12 - 获取一个单独的 ticket
    POST /tickets - 创建一个新的 ticket
    PUT /tickets/12 - 更新 ticket #12
    PATCH /tickets/12 - 部分更新 ticket #12
    DELETE /tickets/12 - 删除 ticket #12
    REST 非常棒的是,利用现有的 HTTP 方法在单个的 /tickets 接入点上实现了显著的功能。没有什么方法命名约定需要去遵循,URL 结构是整洁干净的。 REST 太棒了!

    接入点的名称应该选择单数还是复数呢?keep-it-simple原则可以在此应用。虽然你内在的语法知识会告诉你用复数形式描述单一资源实例是错误的,但实用主义的答案是保持URL格式一致并且始终使用复数形式。不用处理各种奇形怪状的复数形式(比如person/people,goose/geese)可以让API消费者的生活更加美好,也让API提供者更容易实现API(因为大多数现代框架天然地将/tickets和/tickets/12放在同一个控制器下处理)。

    但是你该如何处理(资源的)关系呢?如果关系依托于另外一个资源,Restful原则提供了很好的指导原则。让我们来看一个例子。SupportFu的一个ticket包含许多消息(message)。这些消息逻辑上与/tickets接入点的映射关系如下:

    GET /tickets/12/messages - 获取ticket #12下的消息列表
    GET /tickets/12/messages/5 - 获取ticket #12下的编号为5的消息
    POST /tickets/12/messages - 为ticket #12创建一个新消息
    PUT /tickets/12/messages/5 - 更新ticket #12下的编号为5的消息
    PATCH /tickets/12/messages/5 - 部分更新ticket #12下的编号为5的消息
    DELETE /tickets/12/messages/5 - 删除ticket #12下的编号为5的消息

  • 相关阅读:
    设计模式之 原型模式
    设计模式之 策略模式
    设计模式之 单例模式
    使用IntelliJ IDEA 15和Maven创建Java Web项目(转)
    Java 内存分配全面浅析(转)
    java常量池概念 (转)
    java基本类型和包装类的区别(转)
    JAVA数据类型(转)
    SQL SERVER 2008 服务器登录名、角色、数据库用户、角色、架构的关系(转)
    视图的好处(转)
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/10609539.html
Copyright © 2020-2023  润新知