zoukankan      html  css  js  c++  java
  • RestFul接口设计

    1.接口编程

            1.1背景

              随着互联网的发展, 尤其是移动互联为代表的Web3.0时代. 客户端层出不穷, 以APP、微信、PC浏览器为代表, 服务端业务逻辑是基本一致的。那么有没有一种方式可以做到”服务端一次编写, 客户端随时接入”呢?

            1.2接口编程

            API(Application Programming Interface,应用程序编程接口),程序之间交互数据的一种方式。

            请求方式:get方式 post方式

            请求协议:http协议 https协议

            返回参数格式:普通字符串、json格式、xml格式,现在通用的是json格式

    2.RESTFul设计风格

            2.1Rest;与RestFul

             REST(英文:Representational State Transfer,简称REST),表述性状态转移,指的是一组架构原则。

             Restful: 遵守了rest 原则 的web服务或web应用。

             2.2API设计六要素

             2.2.1资源路径URL

             资源:所有在服务器保存的数据(如:音乐/视频/文章/个人信息...)都是服务器端资源.(项目中资源通常都是指的数据表的一条数据)

             2.2.2HTTP动词(请求方式)

             对于资源, 一般有4个操作, CURD(增/删/改/查)

             GET: 从服务器获取资源(一项或多项)

             POST: 在服务器新建一个资源

             PUT: 在服务器更新资源, 服务器返回完整的属性

             DELETE: 从服务器删除资源

             2.2.3过滤信息

            通常也叫做请求参数或查询字符串。
            2.2.4响应状态码

            服务端返回的信息, 用来告诉客户端操作结果。

           2.2.5错误信息       

             如果状态码是4xx或者5xx, 需要告诉客户端对应的错误信息. 通常以Json格式返回:

            {

             “error”: “错误信息”,

             }

             2.2.6返回结果           

               针对不同的操作, 服务需要返回的结果应该符合这样的规范

             GET /collections -- 返回资源列表(数组)

             GET /collections/:id -- 返回单个资源 eg. /collections/1

             POST /collections -- 返回新生成的资源

             PUT /collections/:id -- 返回资源的完整属性

             DELETE /collections/:id -- 返回204状态码+空文档

             实际开发中,通常会将 状态码、错误信息、返回数据,都放到返回结果中。

    3.RestFul接口设计风格

             RESTFul是一种软件设计风格, 主要用于有客户端与服务端交互的软件.

             RESTFul 是目前最流行的 API 设计规范,用于 Web 数据接口的设计

    4.接口文档

              4.1接口内容

              4.2请求参数内容

              4.3响应参数内容

              4.4错误码内容

  • 相关阅读:
    HTML5 WebSocket 权威指南 学习一 (第二章 WebSocket API)
    VM虚拟机 Centos7 lnmp环境 配置域名问题 windows浏览器访问的问题
    https方式下 git push 每次都要输入密码的解决办法
    浏览器禁用Cookie
    使用Nginx反向代理进行负载均衡
    使用Ajax异步上传文件
    装配Bean
    关于Struts2配置文件名修改的问题
    NIO
    部署描述符
  • 原文地址:https://www.cnblogs.com/shineguang/p/11173477.html
Copyright © 2011-2022 走看看