php开发api接口

1.简述:

api接口开发,其实和平时开发逻辑差不多;但是也有略微差异;

平时使用mvc开发网站的思路一般是都 由控制器 去 调用模型,模型返回数据,再由控制器把数据放到视图中,展现给用户;

api开发是:使用控制器 去调用模型,模型返回数据,在有控制器 输出 json格式字符串 或者 XML 字符串;

2.逻辑代码:

微型mvc结构 :controller 控制器,modal 模型,view 视图,db类 (访问数据的类)

临时写的一个简单 API 例子:

公共参数

名称 类型 必须 描述
key String 是 调用key(调用淘宝商品详情API接口)
secret String 是 调用密钥
api_name String 是 API接口名称(包括在请求地址中)item_search,item_get,item_search_shop等
cache String 否 yes,no默认yes,将调用缓存的数据,速度比较快
result_type String 否 json,jsonu,xml,serialize,var_export返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
lang String 否 cn,en,ru翻译语言,默认cn简体中文
version String 否 API版本

请求参数

请求参数:num_iid=652874751412&is_promotion=1

参数说明:num_iid:淘宝商品ID

is_promotion:是否获取取促销价

响应参数

Version: Date:2022-04-04

名称 类型 必须 示例值 描述
item item\[\] 1 宝贝详情数据

请求地址:调用淘宝商品详情API接口 请求方式:get

提交参数:test

php 复制代码
<?php$test = $_GET['test'];if($test){  echo json_encode(array('status'=>1,'msg'=>'成功','test'=>$test));}else{  echo json_encode(array('status'=>0,'msg'=>'参数缺失'));}

输出结果:

bash 复制代码
status: 1msg: "成功"test: "123"

总结:通过以上代码可以看出 和平时写代码的逻辑是相同的

1、单文件实现多接口的形式有很多种,例如:if..elseif.. 或 switch 或 动态方法 (也就是TP的这种访问函数体的形式)

2、对于数据的输出最好用json,json具有相当强大的跨平台性,市场上各大主流编程语言都支持json解析,json正在逐步取代xml,成为网络数据的通用格式

3、接口安全,一定要增加接口验证。例如,客户端和服务端针对不同接口统一做好加密方式,服务端在对于每次接口需要都要进行验证。以保证防止接口被恶意刷新或黑客恶意调用,尤其是大型商业应用。

相关推荐
每天都好困7 分钟前
03 AR 投影与误差修正:把地图上的点贴到视频画面上
前端
每天都好困9 分钟前
04 地图图层封装:像管理 Photoshop 图层一样管理地图元素
前端
不正经的码狗13 分钟前
Java 开发环境搭建与 Eclipse 使用速通教程
java·开发语言·eclipse
用户81818706274613 分钟前
第37章 Java应用在K8s里的经典坑:容器内存/CPU limit与JVM参数不匹配导致的OOMKilled
java·后端
马剑威(威哥爱编程)26 分钟前
【AI全栈后端12-03】Spring Boot 用多模型路由把智能客服成本降下来
java·人工智能·spring boot
去伪存真31 分钟前
构建你的第一个 DevOps AI Agent:自动化捕获、分析并修复 CI 故障
前端·agent
霸道流氓气质31 分钟前
AI模型幻觉检测与抑制完全指南:从规则引擎到RAG对比的Java生产级实战
java·开发语言·人工智能
niucloud-admin42 分钟前
JAVA V6 多商户商城 开发文档——手机端前端
java·开发语言·前端
云安全助手1 小时前
自建接入VS聚合平台:企业 AI 调用的选型思路与迁移成本拆解
java·大数据·数据库·人工智能·ai大模型
樱花落木兰1 小时前
SpringBoot + ECharts 后台数据统计报表模块实战
java·javascript·spring boot·ai·log4j·github·echarts