接口规范问题

php中文网
发布: 2016-08-18 09:16:01
原创
1454人浏览过

接口返回数据一般把整形与浮点型当成字符串输出出来了,你们有对这个类型进行处理吗?
该怎么处理,目前在用laravel框架。

接口规范问题

我的思路是在每个Model那边定义下数据类型,然后在Model输出的时候统一处理,有什么好的方法吗。

回复内容:

接口返回数据一般把整形与浮点型当成字符串输出出来了,你们有对这个类型进行处理吗?
该怎么处理,目前在用laravel框架。

接口规范问题

我的思路是在每个Model那边定义下数据类型,然后在Model输出的时候统一处理,有什么好的方法吗。

PHP 是弱类型语言,所以出现这种情况比较常见。
一般如果跟 js 交互,或者其他弱类型语言交互,都不会有什么问题。
如果跟 Ios、Android 等强类型的语言就会出现一些问题

1、写个 api 统一处理函数,在输出前统一处理一下,是 int 就用intval 转一下,是 null 的就是 null,是空字符串,就是 "" ,这在强类型中需要注意的。
2、交互一方,Ios、Android 等,最好也做类型验证,可以做类型转化,做容错,不要接口返回的类型不对,程序就崩了。

两方面都最好处理。

易方销售系统EfangIsale
易方销售系统EfangIsale

1 先进的多级用户及代理商管理功能 2 透明的会员资金管理,系统自动完成会员资金的管理业务。 3 规范的业务流程,客户提交订单--业务人员受理订单--技术人员开通业务,简单,规范,使用的企业管理更加规范化。 4 便捷安装接入,只要把你的前台链接到我们指定的入口,其它的业务管理全部由系统自动完成。 5 领先的产品及菜单管理功能。可对产品和会员的菜单进行动态的增加、修改、删除,从而使用轻松方便的增加新

易方销售系统EfangIsale 0
查看详情 易方销售系统EfangIsale

这个跟框架无关,PHP是弱类型的,所以返回JSON的时候数据格式很不规范,我目前返回JSON数据的接口都是在最外面手动格式化一下

<code>strval(xxx) //格式化为字符串
intval(xxx) //格式化为整形数字
floatval(xxx) //格式化为浮点型数字
boolval(xxx) //格式化为浮点型</code>
登录后复制

谢谢邀请,楼上说的很清晰了,php弱类型,你可以根据你要接受的数据,或者返回给你客户端的数据单独用程序做下处理,保证数据的完整性准确性。你可以定一个类或者方法处理你说的浮点,整型等数据,总之保证接口安全性数据正确性就好了

首先说我的结果。
不会转换成字符串。
是不是你数据原本就是字符串。

我的php版本: 5.5.34
Laravel Framework version: 5.2.22

<code><?php

namespace App\Http\Controllers;

class PingController extends Controller
{

    public function ping()
    {
        $a = [1.1, 2];
        return json_encode($a);

        return 'ping is ok';
    }
}</code>
登录后复制

顺便一提,我认为处理的时候应该是在controller返回的时候去统一处理。

接口规范问题

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号