# RESTFULAPI **Repository Path**: sunkeyi/RESTFULAPI ## Basic Information - **Project Name**: RESTFULAPI - **Description**: rest - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2017-03-14 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README RESTful也叫做资源表现层转移 固有的方式是get和post 其他的put delete option需要经过转义解析操作。 1、资源路径URI 2、HTTP动词 3、状态码 4、过滤信息 5、错误码 网址中不能含有动词,只能用名词,而且用复数 将所有动词放入请求中 动词: CURD 1、get 2、post 3、put //更新后会返回信息 4、delete 过滤信息,筛选用户请求 200 ok 201 新建或修改数据成功 204 删除数据成功 400 用户请求错误 401 用户没有认证 403 用户的访问是禁止的,即使提供了相关的认证信息 422 创建一个对象时,发生一个验证错误 500 服务器内部错误,无法排查用户的操作 错误处理: 响应体 { "error":"参数错误" } 返回规范: GET/collections:返回资源对象的列表 GET/collections/identity:返回单个资源对象 POST/collections:返回新生成的资源对象 PUT/collections/identity:返回完整的资源对象 PATCH/collections/identity:返回被修改的属性 DELETE/collections/identity:返回一个空文档 schema://host[:port]/path[?query-string][#author] http/https/ftp schema --协议头 host -- 域名或ip地址 port --服务端口 默认80 path --访问资源的路径 query-string --发送给http服务器的数据 筛选 auchor --锚 请求:请求行、消息报头、请求正文 请求行:method request-uri http-vesrion CRLF 例子 :GET /HTTP/1.1 CRLF 请求: GET 请求获取Request-URI所标示的资源 POST 在Request-URI所标示的资源后附加新的数据 HEAD 请求获取由Request-URI所标示的资源的响应消息报头 PUT 请求服务器储存一个资源, 并用一个Request-URI作为其标示 DELETE 请求服务器删除Request-URI 所标示的资源 OPTIONS 请求查询服务器的性能, 或者查询与资源相关的选项和需求。 响应:状态行、消息报头、响应正文 状态行: HTTP-Vesion Status-Code Reason-Phrase CRLF HTTP/1.1 200 OK 响应状态码 200 客户端请求成功 400 客户端请求由语法错误,服务器不能理解 401 服务器收到请求,但是没有授权,拒绝用户访问 404 请求资源不存在 500 服务器发生不可预期的错误 503 当前服务器不能处理客户请求,例如达到性能瓶颈 1、资源路径uri 2、http动词 3、过滤信息 4、状态码 5、错误处理 6、返回结果 1、资源路径 不能含有动词,名词为复数 2、http动词(谓词) GET POST PUT DELETE 4、返回标准状态码 201 创建成功 204 删除成功 422 创建对象时, 验证错误 5、错误处理 如果状态码是4xx或者5xx,就应该向用户返回出错信息, 一般来说,返回的信息中 将error作为键名,出错信息作为键值即可 { "error":"参数信息" } 500 不能将敏感信息发送出去 6、返回结果