zoukankan      html  css  js  c++  java
  • RESTFul API

    1. 基于“资源”,数据也好、服务也好,在RESTFul设计里一切都是资源。
    2. 无状态。一次调用一般就会返回结果,不存在类似于“打开连接-访问数据-关闭连接”这种依赖于上一次调用的情况。
    3. URL中通常不出现动词,只有名词
    4. URL语义清晰、明确
    5. 使用HTTP的GET、POST、DELETE、PUT来表示对于资源的增删改查
    6. 使用JSON不使用XML

      我举个例子:
      网站:/get_user?id=3
      RESTFul: GET /user/3 (GET是HTTP类型)

    有些同学可能会说,GET、POST我也经常用啊。但是在网站里的GET和POST同RESTFul中的GET、POST是不一样的。网站里使用GET、POST的选择点在于,简单的用GET、复杂对象用POST;但在REST里,GET对应的是查询一个资源,而POST对应的是新增一个资源,意义是决然不同的。理解这一点非常重要。

    好,我们接着来看一看RESTFul API的一些最佳实践原则:

    1. 使用HTTP动词表示增删改查资源, GET:查询,POST:新增,PUT:更新,DELETE:删除
    2. 返回结果必须使用JSON
    3. HTTP状态码,在REST中都有特定的意义:200,201,202,204,400,401,403,500。
      2xx (成功)  3xx (重定向)       4xx(请求错误)     5xx(服务器错误)                                                                                                                                                                                    
      比如401表示用户身份认证失败,403表示你验证身份通过了,但这个资源你不能操作。 
      详细链接:https://www.cnblogs.com/shanyou/archive/2012/05/06/2486134.html
  • 相关阅读:
    4.2 省选模拟赛 流浪者 容斥dp
    4.2 省选模拟赛 旅行路线 广义SAM
    4.2 省选模拟赛 摆棋子 网络流 最大流/上下界最小流
    bzoj 4316 小C的独立集
    CF R630 div2 1332 E Height All the Same
    C++多线程の条件变量
    c++多线程のunique和lazy initation
    c++多线程の死锁与防止死锁
    c++多线程の数据竞争和互斥对象
    c++的多线程和多进程
  • 原文地址:https://www.cnblogs.com/mobaids/p/9164781.html
Copyright © 2011-2022 走看看