PHP开发APP接口实现–基本篇

PHP开发APP接口实现–基本篇

最近一段时间一直在做APP接口,总结一下APP接口开发以来的心得,与大家分享:

1. 客户端/服务器接口请求流程:

安卓/IOS客户端   –> PHP接口 –> 服务器端  –> 数据处理 –> 返回值(客户端接收并处理)

APP的通信方式:

    客户端   (接口地址:http://app.com/api.php?format=xml/json)
    客户端APP   ——————————>  服务器
               <—————————–   
                            返回数据

2.客户端APP通信格式区别

1.XML:扩展标记语言 ,(用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言)

2.JSON:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。

JSON格式如下:

XML的可读性要好,JSON的生成数据性 (json_encode(数组)) 传输速度方面要好

3.客户端请求方式/传值类型

3.1 GET请求:Get请求参数通过URL地址传递,在URL中传送的参数是有长度限制的,传值大小为2KB,而且相对于POST方式不是很安全。

3.2 POST请求:POST请求参数通过request body传递参数,数据传输安全性较高,而且支持多种数据格式的传输,如,数组、字符串等等。

POST的请求如下:

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

3.文档规范

接口文档主要包括:文档名称、接口名称、请求地址、请求方式、请求参数、返回值、参数注释以及状态码。

3.1 请求示例:

3.2 返回示例:

3.3 参数注释:

3.4 返回结果

常用的有在线文档和doc文档两种,个人推荐在线文档,https://apizza.net

在团队协作开发中,文档规范能更快的提高团队工作效率,降低沟通成本,加之APP版本迭代,方便快速查阅文档。

4.接口调试

客户端在请求接口时,根据文档接口传递相关参数,类似于我们做表单提交时,传递的参数一样。客户端请求接口时,一般流程如下:

接口地址:http://api.nanniwan.com/user/ls.api
接口参数:

① 必要性的token验证(即用户登录验证)

② 必传参数:接口接收数据并做处理(具体根据业务需求定义)

③ 请求 响应  返回值

可以通过Postman来模拟调试接口,具体如下:

至此,APP接口基础篇就讲解完毕,具体实践,请看一下节。
———————
作者:No.1117
来源:CSDN
原文:https://blog.csdn.net/qq_29920751/article/details/83271818
版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112472.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月7日 上午9:00
下一篇 2021年11月7日 上午10:00


相关推荐

  • C# WinForm 设置DataGridView选中指定行

    C# WinForm 设置DataGridView选中指定行introwIndex=3;//指定行号this.dgvInGoodsInfo.Rows[rowIndex].Selected=true;this.dgvInGoodsInfo.CurrentCell=this.dgvInGoodsInfo.Rows[rowIndex].Cells[2];也有其他网友代码Cells[0];如下:我试了,填0和1调试报…

    2022年7月15日
    18
  • 实体list转JSONArray对Date数据处理「建议收藏」

    实体list转JSONArray对Date数据处理「建议收藏」直接上代码importnet.sf.json.JSONArray;importnet.sf.json.JsonConfig;importnet.sf.json.processors.JsonValueProcessor;importjava.math.BigDecimal;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;

    2022年6月24日
    28
  • [数学建模] 大数据建模五步法「建议收藏」

    [数学建模] 大数据建模五步法「建议收藏」目录传送门概要第一步:选择模型或自定义模式第二步:训练模型第三步:评估模型第四步:应用模型第五步:优化模型最后语概要PS:本文转载自https://www.sohu.com/a/198093510_783844本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。第一步:选择模型或自定义模式这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。比如,如果要预测产品销量,则可以选择数值预测模型(比如回归模型,时序预测……);如果要预测员工是否离职,则可以选择分类模型(比

    2022年6月9日
    78
  • java中string转object_java中Object转String

    java中string转object_java中Object转StringObject转为String的几种形式在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。方法1:采用Object.toString()方法请看下面的例子:Objectobje…

    2022年6月11日
    414
  • 虚拟机扩容磁盘后扩容分区_如何将磁盘主分区设置为活动分区

    虚拟机扩容磁盘后扩容分区_如何将磁盘主分区设置为活动分区当服务器数据太多的时候,硬盘不足的时候就得考虑扩容,为了不影响业务的正常运行,一般云服务器的本地磁盘都是不支持分区的,因为业务数据通常是不能中断和移动的,无论是增加硬盘或在原有磁盘增加分区的方式扩容,势必会存在卸载、挂载、移动等操作。所以对于云硬盘,如果我们要把他作为数据盘。即使能分区,也最好不要分区,以免以后扩容麻烦。以下用虚拟机看一下对未分区磁盘扩容的效果[root@k8s-node01…

    2022年8月30日
    5
  • 出现namenode不能启动的情况,就把hadoop安装目录下的hadoop目录下的data和name文件夹清空,[通俗易懂]

    出现namenode不能启动的情况,就把hadoop安装目录下的hadoop目录下的data和name文件夹清空,[通俗易懂]出现namenode不能启动的情况,就把hadoop安装目录下的hadoop目录下的data和name文件夹清空,

    2022年4月23日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号