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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm单行和多行注释快捷键_c语言基本函数及解释

    pycharm单行和多行注释快捷键_c语言基本函数及解释对所编写的函数****快速进行多行注释**:**重点——小灯泡定义一个函数如下,款素插入多行注释,效果如下:deffunc1(char,time):”””打印多行分割线:paramchar:分割线使用的分割字符:paramtime:分割线重复次数”””print(char*time)func1(“o”,)其中注释段插入步骤:在定义函数头后deffunc1(char,time):光标放到函数名上,等小灯泡出现,点

    2022年8月27日
    3
  • 研华acdp手机版_研华acdp值得购买吗

    研华acdp手机版_研华acdp值得购买吗你准备游览一个公园,该公园由 N 个岛屿组成,当地管理部门从每个岛屿出发向另外一个岛屿建了一座桥,不过桥是可以双向行走的。同时,每对岛屿之间都有一艘专用的往来两岛之间的渡船。相对于乘船而言,你更喜欢步行。你希望所经过的桥的总长度尽可能的长,但受到以下的限制:可以自行挑选一个岛开始游览。任何一个岛都不能游览一次以上。无论任何时间你都可以由你现在所在的岛 S 去另一个你从未到过的岛 D。由 S 到 D 可以有以下方法:(1)步行:仅当两个岛之间有一座桥时才有可能。对于这种情况,桥的长度会累加到你步

    2022年8月11日
    1
  • 保护ASP.NET 应用免受 CSRF 攻击

    保护ASP.NET 应用免受 CSRF 攻击

    2021年9月11日
    56
  • steamvr插件怎么用_微信word插件加载失败

    steamvr插件怎么用_微信word插件加载失败本文基于SteamVR插件的开发文档翻译并总结SteamVR开发过程中的基本用法。本文总结汇总了SteamVR插件文档的内容,对文档部分内容进行了删减。目前仅仅只是翻译汇总,部分内容可能存在纰漏,后续会结合开发过程逐步更新修改此文章的内容。

    2022年9月4日
    4
  • java链表排序方法_java链表排序

    java链表排序方法_java链表排序插入排序    对链表进行插入排序,是最简单的一种链表排序算法,用于插入排序是迭代的,所以每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。    每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。    插入排序的时间复杂度为O(N^2),空间复杂度为O(1)cla

    2022年10月9日
    0
  • Meanshift,聚类算法

    Meanshift,聚类算法记得刚读研究生的时候,学习的第一个算法就是meanshift算法,所以一直记忆犹新,今天和大家分享一下Meanshift算法,如有错误,请在线交流.MeanShift算法,一般是指一个迭代的步骤,即

    2022年7月4日
    19

发表回复

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

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