Restful(一)

一:web服务交换

    REST:表述行状态转移。

    SOPA:简单的对象访问协议。

    XML-RPC:基于xml的远程过程调用。不常用

二:理解REST

   1:什么是rest

     --Respresenttaional state Transfer(表述性状态转移)

     --表述性就是指资源。

   2:什么是资源

      资源,任何事物只要被引用都可以说是资源。包括信息,数据,关系。在网络中我们需要引用一个资源,需要一个标识,而唯一标示就是URI.

   3:URL 和 URI

      --URL  统一资源定位符(地址)

      --URI  统一资源标识

   4:统一资源接口

       --对一个资源的访问,可以使用一个url,通过url的请求方式来进行不同的资源操作。如get请求查询,post增加,put修改,delete资源删除

   5:状态转移

       当我们需要从该资源跳转其他状态,需要通过超链接

   6:资源的表述

     --资源的表述就是资源的表述形式,当客户端向服务器发送请求资源时,我们怎么知道服务端返回的资源的格式。所以可以通过http协议,客户端通过请求头请求特定的表现形式。而服务器通过

content-type告诉客户端的表现形式。

三:RESTful规范

  1:面向资源编程

    每一个url代表一个资源,URL尽量用名词,不要用动词

  2:在url中体现版本

  3:在url中体现是否是api

  4:在url中携带过滤条件

  5:地址尽量使用https

  6:响应设置状态码

      --1**   信息,服务器收到请求,需要请求者继续执行操作

  --2**  成功,操作被成功接收并处理

  --3**  重定向,需要进一步的操作以完成请求

  --4**  客户端错误,请求包含语法错误或无法完成请求

  --5**  服务器错误,服务器在处理请求的过程中发生了错误

  7: 根据method不同,进行不同的操作

      --GET/POST/PUT/DELETE/PATCH

  8:返回值

  GET请求 返回查到所有或单条数据

  POST请求  返回新增的数据

  PUT请求  返回更新数据

  PATCH请求  局部更新  返回更新整条数据

  DELETE请求  返回值为空

  9:返回错误信息

  返回值携带错误信息

  10:Hypermedia API

  如果遇到需要跳转的情况 携带调转接口的URL

  ret = {
                code:200,
                data:{
                    id:1,
                    name:'yjp',
                    depart_id:https://www.baidu.com/
                }
            
原文地址:https://www.cnblogs.com/yingjp/p/10571411.html