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

相关推荐
Sarvartha2 分钟前
Object 类
java·开发语言
行者全栈架构师4 分钟前
【鸿蒙心迹】鸿蒙网络请求架构实战——@ohos.net.http 到 Axios 封装、拦截器与统一错误处理(HarmonyOS 7.x)
前端·算法·架构
知守观5 分钟前
feign-core 就在依赖树里,运行时却找不到类:一次 provided scope 引发的启动失败排查
java·spring cloud·maven
她的男孩6 分钟前
企业接口照样拦得住:独立 Flyway、@RequiresFeature 与离线许可证
java·spring boot·后端
十年Java程序媛6 分钟前
Lambda 与函数式接口|别只会复制 ()->{},底层规则和坑一次性讲清
java·spring boot·后端
全栈Agent 小李11 分钟前
【无标题】
前端·后端·agent·ai编程·全栈·cursor·mcp
羲云11 分钟前
别让 AI 凭记忆做调研:给 WorkBuddy 接上可核验的实时搜索
前端
Nozokime14 分钟前
ThreadLocal 在流式 Agent 里静默失效:LangChain4j 轨迹埋点的零侵入方案
java
小宋102118 分钟前
OpenTelemetry GenAI可观测性实战:串起模型、工具、Token与错误
java·人工智能·算法·贪心算法
m0_5873830037 分钟前
工业场景设备维修维护实战技巧 全流程标准化落地与常见问题排查指南
java·spring·小程序·架构·需求分析