接口应该返回统一格式,不能以文字作为调用方的判断依据的,要以状态码作为依据

/**
     *
     * 检查手机号码是否可用
     * @param $cellphone 手机号码
     */
    public function checkPhone($cellphone) {
        $cellphone = trim($cellphone);
        if (InputCheck::CheckCellphone($cellphone) == false)
            throw new ApiException(4001023);
        $member = Member::findFirstByCellphone($cellphone);
        
        //todo by wangtao
        //这里的返回方式没有统一,可以注册或不可以注册都返回的一个文字,让调用方很难判断,一旦文字变化就会让调用方代码变得很麻烦。
        //应该以状态码的形式统一起来返回,哪怕是true or false都要更好
        //提示信息应该只能作为一个接口的辅助形式,不能作为调用方判断依据的。
        //不知道现在有哪些应用已经在调用这个接口,如果要修改,新开一个接口来保证统一。如果确定没有调用,可以删除掉这个接口,避免影响后续接手人员,造成风格的不统一
        if (!empty($member)) {
            $this->response->render(‘手机号已经被注册啦,换一个手机号码吧!‘);//返回false会更好,有利于调用方的代码判断
        } else {
            $this->response->render(‘手机号可以注册‘);//成功应该要返回一个成功状态码,比如true
        }
    }

时间: 2024-08-10 15:00:44

接口应该返回统一格式,不能以文字作为调用方的判断依据的,要以状态码作为依据的相关文章

前后端分离之——接口数据返回---标准格式

开发中,如果前端和后端,在没有统一返回数据格式,我们来看一下会发生什么: 后台开发人员A,在接口返回时,习惯返回一个返回码code=0000,然后返回数据: 后台开发人员B,在接口返回时,习惯直接返回一个boolean类型的success=true,然后返回数据: 后台开发人员C,在接口返回时,习惯在接口失败时返回码为code=0000. 可以看到,上面的三个开发人员,都没有大问题,没有谁对谁错,只要给前端接口文档,前端都是可以接上接口的.但是,在项目功能越来越多,接口数量持续增长时,对开发人员

接口数据返回---标准格式

开发中,如果前端和后端,在没有统一返回数据格式,我们来看一下会发生什么: 后台开发人员A,在接口返回时,习惯返回一个返回码code=0000,然后返回数据: 后台开发人员B,在接口返回时,习惯直接返回一个boolean类型的success=true,然后返回数据: 后台开发人员C,在接口返回时,习惯在接口失败时返回码为code=0000. 可以看到,上面的三个开发人员,都没有大问题,没有谁对谁错,只要给前端接口文档,前端都是可以接上接口的.但是,在项目功能越来越多,接口数量持续增长时,对开发人员

常用的API接口,返回JSON格式的服务API接口

物流接口 快递接口: http://www.kuaidi100.com/query?type=快递公司代号&postid=快递单号 ps:快递公司编码:申通="shentong" EMS="ems" 顺丰="shunfeng" 圆通="yuantong" 中通="zhongtong" 韵达="yunda" 天天="tiantian" 汇通="huit

Beego生产环境返回状态码的bug

项目用的是Beego的1.4.2.但是最近发现cdn会把项目中的40x或者50x的页面缓存住. 研究了下Beego的源码,然后经过测试后发现,在生产环境下,当请求的页面出错时,返回的页面的状态码40x或者50x会被统一改为200. 这个是因为开发者谢大将写入response的状态码的那行给注释了. 要是用Beego的同僚注意了,这个地方得自己处理下. 如下处理即可: 在main.go中: package main import ( "github.com/astaxie/beego"

springmvc 通过异常增强返回给客户端统一格式

在springmvc开发中,我们经常遇到这样的问题:逻辑正常执行时返回客户端指定格式的数据,比如json,但是遇NullPointerException空指针异常,NoSuchMethodException调用的方法不存在异常,返回给客户端的是服务端异常堆栈信息,导致客户端不能正常解析数据:这明显不是我们想要的. 幸好从spring3.2提供的新注解@ControllerAdvice,从名字上可以看出大体意思是控制器增强.原理是使用AOP对Controller控制器进行增强(前置增强.后置增强.

SpringMVC 统一返回JSON格式数据到前端

有时在给APP做接口功能的时候,都是返回JSON格式的数据,所以最好的只好在工程设置一个统一的数据返回方式 在SpringMVC 直接配置XML可以产生这种配置,比较简单 Spring的版本我用的是4.3.3的 <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter&qu

自定义统一api返回json格式(app后台框架搭建三)

在统一json自定义格式的方式有多种:1,直接重写@reposeBody的实现,2,自定义一个注解,自己去解析对象成为json字符串进行返回 第一种方式,我就不推荐,想弄得的话,可以自己去研究一下源码 第二种方式,主要通过定义注解,通过 HandlerMethodReturnValueHandler 对返回值的处理,而不让他进去viewResolver处理 ======================================================================

JSON API免费接口 各种提供JSON格式数据返回服务网站的API接口

这里为大家搜集了一些能够返回JSON格式的服务接口.部分需要用JSONP调用. 电商接口 京东获取单个商品价格接口: http://p.3.cn/prices/mgets?skuIds=J_商品ID&type=1 用例 ps:商品ID这么获取:http://item.jd.com/954086.html 淘宝商品搜索建议: http://suggest.taobao.com/sug?code=utf-8&q=商品关键字&callback=cb 用例 ps:callback是回调函数

20170313 ABAP以jason 格式返回值到http(接口内容返回)

 问题1: 返回jason 格式信息给你们这步不通, 这个可以怎么处理, ***得到SCP 系统开发回复,他们需要调整方法: (1)调用函数做RETURN, IT_ZSMLSCPNOTICE-FUNCTIONNAME = 'ZMLSCP1_FR0005'. IT_ZSMLSCPNOTICE-BCPCODE = BCPCODE. IT_ZSMLSCPNOTICE-STATUS = O_STATU. IT_ZSMLSCPNOTICE-MSG = O_MSG. IT_ZSMLSCPNOTICE-RES