`
lyz8jj0
  • 浏览: 20442 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

API友好

 
阅读更多
新版ThinkPHP针对API开发做了很多的优化,并且不依赖原来的API模式扩展。
数据输出

新版的控制器输出采用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,其他类型的需要自己扩展。
分享到:
评论

相关推荐

    vuepress-theme-api:V VuePress的API友好主题

    vuepress-theme-api :package: :memo: :artist_palette: VuePress的API友好主题。 受时代启发。建于 先决条件您需要设置一些全局依赖项。 入门正在安装 # Install VuePressyarn add vuepress # OR npm install vue...

    Wunderlist-3-Alfred:奇妙清单 3 API 友好的 Alfred 2 工作流程

    奇妙清单 3 API 友好的 Alfred 2 工作流程 我注意到很多人对 Yosemite 和 Wunderlist 3 从 Alfred 搜索栏中删除了对 Wunderlist 的简单系统事件/可访问性访问感到沮丧。 我仔细研究了 Wunderlist 的 API,并编写了...

    猫鼬-性别页面:api友好的猫鼬分页工具

    :fire: API友好的猫鼬分页工具 安装 npm install --save mongoose-sex-page 用法 const Dummy = mongoose . model ( 'Dummy' , DummySchema ) const P = require ( 'mongoose-sex-page' ) 简单 P ( Dummy ) . page...

    :火箭::攻击:基于承诺实现微信小程序http请求,轻便,小巧,api友好,功能丰富- hatedMe / wechat-request

    基于Promise微信小程序http请求,轻便,小巧,api友好,功能丰富 特别之处 支持Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换为JSON数据 超时请求 告别callback 支持默认请求前缀 支持并发请求 ...

    speedPHP模板框架为移动端开发API接口

    总结,SpeedPHP框架为移动端API接口开发提供了便捷高效的工具,它的轻量级设计、强大的功能以及对API友好的特性,使开发者能更专注于业务逻辑,提高开发效率。通过深入学习和实践,你将能够充分利用SpeedPHP的优势,...

    gomicro-grpc:gomicro-grpc是一个基于git-micro框架开发的个人微服务项目,针对gomicro项目套件使用,封装比较优雅,API友好,API注释比较明确,具有快速灵活,容错方便等特点,让您快速了解go微服务项目

    gomicro-grpc gomicro-grpc是一个基于git-micro框架开发的个人微服务项目,针对gomicro项目套件使用,封装比较优雅,API友好,API注释比较明确,具有快速灵活,容错方便等特点,让您快速了解go微服务项目

    go-micro:go-micro是一个基于microtools集合框架开发的个人微服务项目,封装比较优雅,API友好,继承注释比较副本,具有快速灵活,容错方便等特点,让您快速了解go微服务项目

    微型化go-micro是一个微服务项目,封装比较优雅,API友好,二进制注释比较明确,具有快速灵活,容错方便等特点,让您快速了解go微服务项目生成proto protoc --proto_path = src / protos --micro_out = src / Users ...

    不编程就能使用REST_API.doc

    这主要得益于现代浏览器的强大功能以及某些服务提供方对REST_API友好的设计。 #### 三、构建REST_API请求网址 文档提到,使用REST_API的关键在于构建正确的请求网址。这包括了确定API的端点、所需的参数等。例如,...

    前端开源库-documentation-markdown-api-theme

    2. **API友好**:专门设计的API主题使得接口描述更加清晰,方便开发者快速找到所需的信息。 3. **可定制性**:由于是开源项目,开发者可以根据自己的喜好或公司风格对主题进行调整和定制。 4. **社区支持**:作为...

    Python库 | django_api_forms-0.16.1-py3-none-any.whl

    1. **API友好**:这个库可能是为RESTful API设计的,允许开发者创建与API接口兼容的表单,使得前后端分离的项目能更有效地交互数据。 2. **模型表单**:Django_api_forms可能支持直接基于数据库模型创建表单,这样...

    Django REST framework讲义PDF全集,中文文档PDF版

    DRF的API友好,文档详尽,社区活跃,是开发Web API的首选框架之一。 二、序列化 在DRF中,序列化是将Python对象转换为JSON或其他可传输格式的过程,同时也支持将这些数据反序列化回Python对象。DRF提供了...

    SCM Manager 简体中文版

    SCM Manager 是一款同时支持Git、Subversion、Mercurial的源代码管理服务器,基于Java构建。 中文版由木鱼制作,除了进行全面的中文化以外,还...友好的用户界面和简单的插件API 很多插件可用 BSD授权 方便各位下载

    gin.tar.gz

    Go gin Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了1.0版本。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http...

    Api-larapi.zip

    Api-larapi.zip,一种API友好的拉瓦维尔叉子。身份验证、错误处理、资源筛选、排序、分页以及更多内容,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取...

    thinkphp5开发手册

    4. API友好设计,包括出色的性能、RESTful支持和远程调试; 5. 高效的惰性加载机制,优化了路由、配置和自动加载; 6. 支持MongoDB的重构ORM数据库、模型及关联; 7. 已进入BUG及安全维护阶段,不再进行功能升级。 ...

    Laravel开发-laravel-doctrine-responder

    分形库允许开发者定义数据如何被转换为API友好的格式,包括嵌套资源、包含和排除字段等功能,使API接口更具灵活性和可定制性。 在使用`laravel-doctrine-responder`时,开发者可以创建自定义的Transformer类,这些...

    WebIX4.3开发手册

    6. **API友好**:WebIX提供了丰富的API和事件系统,使得开发者可以通过简单的JavaScript代码实现复杂的功能和交互。 7. **主题和皮肤**:WebIX内置了多种预设主题,同时支持自定义皮肤,帮助开发者快速调整应用的...

    POI jar包

    8. **API友好**:POI提供了直观且易于理解的API,让开发者可以方便地操作Office文件的各个部分。 在实际开发中,POI常被用于数据分析、自动化报告生成、Web应用中的文件导出等功能。例如,你可以用它来读取服务器上...

    PHP版顺丰下单API、取消订单API、查询订单API

    3. 错误处理:当API返回错误时,需要捕获并适当地处理异常,向用户显示友好错误信息。 4. 日志记录:为了调试和监控,建议记录API请求和响应的详细信息。 5. 重试策略:对于网络不稳定或暂时性服务故障,可以实现重...

    node-api-boilerplates:使用不同技术的Node RESTful友好API的样板

    描述简单明了地告诉我们这是一个“节点API样板”,其主要功能是提供对Node.js RESTful API友好的模板。"RESTful"是指一种网络应用程序的设计风格和开发方式,基于HTTP协议,遵循 Representational State Transfer...

Global site tag (gtag.js) - Google Analytics