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

相关推荐
用户29307509766918 小时前
# 从零开始,打造 AI 产品的第一个关键体验——流式输出
前端·vue.js
小杍随笔18 小时前
【 .npmrc 终极配置指南:统一管理 npm/pnpm 缓存与全局目录,告别磁盘混乱】
前端·缓存·npm
折哥的程序人生 · 物流技术专研18 小时前
Java 23 种设计模式:从踩坑到精通 | 番外:策略 vs 模板方法 —— 组合与继承的终极对决
java·策略模式·java面试·comparator·模版方法模式·java设计模式·从踩坑到精通
默_笙18 小时前
👍 手写一个 MCP 文件读取服务:原来 AI 能"读"我的文件,全靠这个协议
前端·javascript
饮茶三千18 小时前
基于 WangEditor 的富文本编辑器定制实践
前端·vue.js·设计模式
kyle~18 小时前
前端 --- Toast 轻量级弱反馈提示组件
前端
玉宇夕落18 小时前
Vue3 + 流式输出学习
前端
努力成为AK大王18 小时前
CSS 入门完整笔记
前端·css
库克克18 小时前
【C++】类和对象--this指针详解
java·开发语言·c++
微笑挖矿18 小时前
大模型流式渲染:为什么"逐字显示"远比你想的复杂
前端