API友好
程序员文章站
2022-03-21 12:36:12
...
新版ThinkPHP针对API开发做了很多的优化,并且不依赖原来的API模式扩展。
数据输出
新版的控制器输出采用Response类统一处理,而不是直接在控制器中进行输出,通过设置default_return_type或者动态设置不同类型的Response输出就可以自动进行数据转换处理,一般来说,你只需要在控制器中返回字符串或者数组即可,例如如果我们配置:
那么下面的控制器方法返回值会自动转换为json格式并返回。
访问该请求URL地址后,最终可以在浏览器中看到输出结果如下:
如果你需要返回其他的数据格式的话,控制器本身的代码无需做任何改变。
支持明确指定输出类型的方式输出,例如下面指定JSON数据输出:
或者指定输出XML类型数据:
核心支持的数据类型包括view、xml、json和jsonp,其他类型的需要自己扩展。
数据输出
新版的控制器输出采用Response类统一处理,而不是直接在控制器中进行输出,通过设置default_return_type或者动态设置不同类型的Response输出就可以自动进行数据转换处理,一般来说,你只需要在控制器中返回字符串或者数组即可,例如如果我们配置:
'default_return_type'=>'json'
那么下面的控制器方法返回值会自动转换为json格式并返回。
namespace app\index\controller; class Index { public function index() { $data = ['name'=>'thinkphp','url'=>'thinkphp.cn']; return ['data'=>$data,'code'=>1,'message'=>'操作完成']; } }
访问该请求URL地址后,最终可以在浏览器中看到输出结果如下:
{"data":{"name":"thinkphp","url":"thinkphp.cn"},"code":1,"message":"\u64cd\u4f5c\u5b8c\u6210"}
如果你需要返回其他的数据格式的话,控制器本身的代码无需做任何改变。
支持明确指定输出类型的方式输出,例如下面指定JSON数据输出:
namespace app\index\controller; class Index { public function index() { $data = ['name'=>'thinkphp','url'=>'thinkphp.cn']; // 指定json数据输出 return json(['data'=>$data,'code'=>1,'message'=>'操作完成']); } }
或者指定输出XML类型数据:
namespace app\index\controller; class Index { public function index() { $data = ['name'=>'thinkphp','url'=>'thinkphp.cn']; // 指定xml数据输出 return xml(['data'=>$data,'code'=>1,'message'=>'操作完成']); } }
核心支持的数据类型包括view、xml、json和jsonp,其他类型的需要自己扩展。
推荐阅读
-
阿里云api网关(阿里云网关服务)
-
剖析Asp.Net Web API路由系统---WebHost部署方式
-
Laravel5.4简单实现app接口Api Token认证方法
-
laravel 配置路由 api和web定义的路由的区别详解
-
JDK1.6官方下载JDK1.6API(chm)下载_JDK6APICHM中文参考下载等集合测试可下
-
移动搜索成主流 如何构建对百度友好的移动站点
-
基于HTML5 FileSystem API的使用介绍
-
PHP开发api接口安全验证的实例讲解
-
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
-
Java网络编程实现HTTP协议(Socket API)