RsetFul接口
请求方式:get方式 post方式
请求协议:http协议 https协议
返回参数格式:普通字符串、json格式、xml格式,现在通用的是json格式
这里的接口,不是面向对象中的interface接口。
数据交互中的接口:实际上,就是通过url请求到的地址中的代码(框架中就是一个控制器的方法)
(各个请求应该返回的信息)返回结果
针对不同的操作, 服务需要返回的结果应该符合这样的规范
GET /collections -- 返回资源列表(数组)
GET /collections/:id -- 返回单个资源 eg. /collections/1
POST /collections -- 返回新生成的资源
PUT /collections/:id -- 返回资源的完整属性
DELETE /collections/:id -- 返回204状态码+空文档
实际开发中,通常会将 状态码、错误信息、返回数据,都放到返回结果中。
{"code":200, 'msg':'success', "data":{"id":1,"goods_name":"tp"}}
// 状态码 错误或成功信息 数据(json)
RestFul接口设计风格
HTTP动词URI路径说明
TP框架中的资源路由
thinkRoute::resource('news','api/news'); //使用资源路由
相当于分别设置了以下七路由:
jq中ajax请求restful接口
Restful常用的资源路由
新增页面页面展示 create方法 和 修改页面页面展示 edit方法 一般可以不用。
请求伪装
部分客户端(比如低版本浏览器)可能仅支持get请求、post请求,不支持delete请求和put请求。
服务端CURL请求
服务端与服务端之间,也存在接口编程。
比如我们网站服务端,需要发送短信、发送邮件、查询快递等,都需要调用第三方平台的接口
php中发送请求
①file_get_contents函数 :传递完整的url参数 通常是get请求,有返回值(地址中的输出)
②curl请求方式(PHP的curl函数库):php中比较规范的一种发送请求方式。
CURL函数库
①使用curl_init初始化请求会话
②使用curl_setopt设置请求一些选项
③使用curl_exec执行,发送请求
④使用curl_close关闭请求会话
curl_errno函数 返回错误码
curl_error函数 返回错误信息
封装请求接口函数
①在php.ini中开启php_curl扩展(必须开启) //CURL扩展
php.ini中开启php_openssl //(本身不是curl必须的,是调用一些第三方接口需要的)