** #1. APP接口介绍 **
什么是接口?
1、什么是接口?
接口一般来讲分为两种:
(1)程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口,如登录发帖,发帖就必须要登录,如果不登录不能发帖,发帖和登录这两个模块之间就要有交互,就会抛出一个接口,进行内部系统调用。
(2)系统对外的接口:从别人的网站或服务器上获取资源或信息,对方不会提供数据库共享,只能提供一个写好的方法来获取数据,如购物网站和第三方支付之间,购物网站支付时可选择第三方支付方法,但第三方不会提供自己的数据库给购物网站,只会提供一个接口,供购物网站进行调用。
2、接口的分类?
接口分类一般分为两种:
(1)webService接口:走soap协议通过http传输,请求报文和返回报文都是xml格式的。测试时需要通过工具才能进行调用、测试。少数公司还在使用这种接口,如医院等行业。
(2)http api接口:走http协议,通过路径来区分调用的方法,请求和报文都是key-value形式的,返回报文一般都是json串,有get和post等方法。目前来讲,是最常用的。
3、接口返回数据
接口返回的数据一般都是json串,json是一种通用的数据类型,格式为key-value。
4、前端、后端区别?
前端:客户端。通俗来讲,一般情况下,web端或app端能看见的地方以及一些简单的校验,都属于前端。(ps:网站上显示的后台管理不属于后端哦)
后端:服务器端。web端或app端的系统逻辑、如购物时扣除余额,微博发到哪里等都是由后端实现的。
JSON方式封装通信
PHP生成JSON数据
方法:json_encode($value)
通信数据标准格式
- code 状态码(200,400等);
- message 提示信息(参数错误;数据返回成功等)
- data 返回数据
** 2.APP是如何通信的 **
APP与浏览器通信的异同
相同处:都是向服务器端发起HTTP请求,经过服务器端的逻辑处理后返回相对应的结果
不同之处:
XML定义
扩展标记语言((Extensible Markup Language ,XML ) ,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XML格式统一,跨平台和语言,非常适合传输和通信,早已成为业界公认的标准。
简单的XML格式
** JSON封装接口 **
封装通信接口方法
- JSON方式封装接口数据方法
- xml方式封装接口数据方法
- 综合通信方式封装
PHP生成JSON数据
方法:json_encode($value)
通信数据格式
json方式如何封装通信数据方法
<?php
class Response
{
// 按照json方式去封装数据的方法
// $code 状态码
// $message提示消息
// $data 返回数据
public static function json($code, $message = '', $data = array())
{
if (!is_numeric($code)) {
return "";
}
$result = array(
'code' => $code,
'message' => $message,
'data' => $data
);
echo json_encode($result);
exit;
}
public static function xml()
{
header("Content-type:text/xml");
$xml = "<?xml version='1.0' encoding='UTF-8' ?>\n";
$xml .= "<root>\n";
$xml .= "<code>200</code>\n";
$xml .= "<message>数据返回成功</message>\n";
$xml .= "<data>\n";
$xml .= "<id>1</id>\n";
$xml .= "<name>caicai</name>\n";
$xml .= "<desc>this is a test</desc>\n";
$xml .= "</data>\n";
$xml .= "</root>";
echo $xml;
exit;
}
}
Response::xml();