• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

接口规范问题

php 搞代码 3年前 (2022-01-23) 17次浏览 已收录 0个评论
文章目录[隐藏]

<body>

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

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

回复内容:

<body>

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

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

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

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

两方面都最好处理。

这个跟框架无关,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><?phpnamespace Ap<mark>@本文来源gaodaimacom搞#代%码@网-</mark><strong>搞代gaodaima码</strong>p\Http\Controllers;class PingController extends Controller{    public function ping()    {        $a = [1.1, 2];        return json_encode($a);        return 'ping is ok';    }}</code>

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:接口规范问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址