多应用+插件架构,代码干净,支持一键云编译,码云点赞13K star,4.8-4.12 预售价格198元 广告
[TOC] * * * * * # H1 这是一个一级标题 分类 ## H2 这是一个二级标题 类 ### H3 这是一个三级标题 属性 #### H4 这是一个四级标题 方法 ##### H5 这是一个五级标题 参数 ###### H5 这是一个六级标题 描述 > 说明: >[info] 语法: >[success] 备注: >[warning] 示例: >[danger] 警告: `代码块` ~~~ 代码行 ~~~ # RESTful > * 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 > * 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 > * 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件。 >[success]RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 > * Fielding将他对互联网软件的架构原则,定名为REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。 > * 如果一个架构符合REST原则,就称它为RESTful架构。 > * 要理解RESTful架构,最好的方法就是去理解Representational State Transfer这个词组到底是什么意思,它的每一个词代表了什么涵义。如果你把这个名称搞懂了,也就cc不难体会REST是一种什么样的设计。 ### 接口规则 #### GET >[success] > * 安全且幂等 > * 获取表示 > * 变更时获取表示(缓存) > * 200(OK) - 表示已在响应中发出 > * 204(无内容) - 资源有空表示 > * 301(Moved Permanently) - 资源的URI已被更新 > * 303(See Other) - 其他(如,负载均衡) > * 304(not modified)- 资源未更改(缓存) > * 400 (bad request)- 指代坏请求(如,参数错误) > * 404 (not found)- 资源不存在 > * 406 (not acceptable)- 服务端不支持所需表示 > * 500 (internal server error)- 通用错误响应 > * 503 (Service Unavailable)- 服务端当前无法处理请求 #### POST >[success] > * 不安全且不幂等 > * 使用服务端管理的(自动产生)的实例号创建资源 > * 创建子资源 > * 部分更新资源 > * 如果没有被修改,则不过更新资源(乐观锁) > * 200(OK)- 如果现有资源已被更改 > * 201(created)- 如果新资源被创建 > * 202(accepted)- 已接受处理请求但尚未完成(异步处理) > * 301(Moved Permanently)- 资源的URI被更新 > * 303(See Other)- 其他(如,负载均衡) > * 400(bad request)- 指代坏请求 > * 404 (not found)- 资源不存在 > * 406 (not acceptable)- 服务端不支持所需表示 > * 409 (conflict)- 通用冲突 > * 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突) > * 415 (unsupported media type)- 接受到的表示不受支持 > * 500 (internal server error)- 通用错误响应 > * 503 (Service Unavailable)- 服务当前无法处理请求 #### PUT >[success] > * 不安全但幂等 > * 用客户端管理的实例号创建一个资源 > * 通过替换的方式更新资源 > * 如果未被修改,则更新资源(乐观锁) > * 200 (OK)- 如果已存在资源被更改 > * 201 (created)- 如果新资源被创建 > * 301(Moved Permanently)- 资源的URI已更改 > * 303 (See Other)- 其他(如,负载均衡) > * 400 (bad request)- 指代坏请求 > * 404 (not found)- 资源不存在 > * 406 (not acceptable)- 服务端不支持所需表示 > * 409 (conflict)- 通用冲突 > * 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突) > * 415 (unsupported media type)- 接受到的表示不受支持 > * 500 (internal server error)- 通用错误响应 > * 503 (Service Unavailable)- 服务当前无法处理请求 #### DELETE >[success] > * 不安全但幂等 > * 删除资源 > * 200 (OK)- 资源已被删除 > * 301 (Moved Permanently)- 资源的URI已更改 > * 303 (See Other)- 其他,如负载均衡 > * 400 (bad request)- 指代坏请求 > * 404 (not found)- 资源不存在 > * 409 (conflict)- 通用冲突 > * 500 (internal server error)- 通用错误响应 > * 503 (Service Unavailable)- 服务端当前无法处理请求