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


相关推荐

  • 反射之invoke方法

    反射之invoke方法当获得类对应的Class对象后,可以通过getMethods()方法得到全部方法——返回Method数组,或者getMethod()方法来获取指定方法——Method对象。可以通过Method对象的invoke()方法来调用它对应的方法。Objectinvoke(Objectobj,Object…args):obj是执行该方法的Class对象,args是执行该方法时传入的实参。

    2022年5月20日
    38
  • java copyproperties_java中 BeanUtils.copyProperties的用法

    java copyproperties_java中 BeanUtils.copyProperties的用法BeanUtils提供了对java发射和自省API的包装,这里对BeanUtils.copyProperties的用法做一个小小的介绍。通过函数名可以知道,copyProperties函数是对属性进行拷贝,该函数有两个参数,一个是原始的数据,另一个是接收这些属性的数据。这里给大家介绍一个我遇到的一个坑:在不同的jar包中,该函数的两个参数的位置不一样,有一种是copyProperties(java…

    2022年10月3日
    1
  • nfs 文件句柄_NFS端口

    nfs 文件句柄_NFS端口上一篇文章中我们以REMOVE请求为例讲解了NFS请求的处理过程,其中提到了文件句柄的概念,NFS需要根据文件句柄查找一个文件,这篇文章中我们就来聊聊文件句柄。在普通的文件系统中,我们用文件索引节点编号(ino)表示一个文件。ino就是一个数字,ino保存在磁盘中,整个文件系统中任何两个文件的ino都不相同,因此给定一个ino,我们就能找到对应的文件。当使用NFS文件系统时就出现问题了,我们无法通

    2022年10月18日
    3
  • C++学习——memset函数详解

    C++学习——memset函数详解memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。头文件 <string.h>或 < cstringh >函数介绍void *memset(void *s, int ch, size_t n);函数解释:将s中当前位置后面的n个字节 (typedef unsigned int si…

    2022年8月18日
    8
  • 使用Xib封装一个view的步骤

    使用Xib封装一个view的步骤

    2021年9月1日
    47
  • 与一对加拿大华人夫妇的故事

    与一对加拿大华人夫妇的故事

    2022年1月23日
    48

发表回复

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

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