一个校验接口

最近,我需要对接一个外部接口,基本功能是:校验指定的门店是否完善了货运信息。接口大致是这样的:

POST https://******/Dealer/CheckCarrier
Heads:Authorization=****,Content-Type=application/x-www-form-urlencoded
Request Body:DealerCode=**,StoreCode=**,BrandCode=**,BuCode=**
Response Body:
{"success":true,"message":"操作成功","data":"OK"}

这种 Response 的结构相信大家并不陌生吧。

第一个问题

拿到这个接口时,我觉得有点奇怪。既然是校验接口,结果应该是 true 或 false 啊,怎么给了个字符串“OK”呢?于是,带着疑问,我找到了提供接口的同行 A。

同行 A 回复说,不用管 data,校验的结果放在 success 里?这时,我头上多了更多的问号,感觉哪里怪怪的,又一时说不出个所以然。

第二个问题

思考片刻,我才意识到这种疑惑的根源--同行 A 对 Response 的理解和我不一样。在我看来,不管什么接口,data 放的都是最终结果,而 success 放的是是否正常地完成了调用。就拿这个接口来说,指定的门店不管有没有完善货运信息,success 都应该为 true,那什么时候为 false 呢?当某些原因导致校验无法正常得到结果时,返回 false,例如,入参非法、门店未维护。

难道一直以来我都是错的吗?

我试着和同行 A 交流这个问题,发了一堆废话后,同行 A 好像没有理解我的疑惑。

可能是我没表达清楚吧,我试着用比喻的方式来说明:我想看看楼上有没有肉?data 里放的就是最终结果,即有没有肉,而 success 为 true 时,说明我顺利地爬上了漏,并确认了有没有肉,为 false 时,可能是我爬楼梯摔了一跤,没法确认有没有肉

最后,同行 A 好像认可了我的这套逻辑,当然,人家可能是觉得我太烦了,不想与我多费口舌。

结语

所以,我想知道,大家是怎么理解 Response 的。

最后,感谢阅读,欢迎私信交流。

本文为原创文章,转载请附上原文出处链接:https://www.cnblogs.com/ZhangZiSheng001/p/15552479.html

一个校验接口引发的思考--我真的了解Response吗的更多相关文章

  1. MVC系列——一个异常消息传递引发的思考

    前言:最近在某个项目里面遇到一个有点纠结的小问题,经过半天时间的思索和尝试,问题得到解决.在此记录一下解决的过程,以及解决问题的过程中对.net里面MVC异常处理的思考.都是些老生常谈的问题,不多说, ...

  2. 由一个DAOHelper类引发的思考

    这是一篇发牢骚的文章,可以这么说吧.DAOHelper究竟有什么用呢?用我自己的话去理解,DAOHelper的存在正是敏捷开发的产物,即快速开发. 我们究竟能从项目中学到什么呢?有的人可能会说,从一个 ...

  3. 由项目中一个hash2int函数引发的思考

    hash2int /** * 计算一个字符串的md5折算成int返回 * @param type $str * @return type */ function hash2int($str) { $m ...

  4. 一个python问题引发的思考

    问题: pyqt5下开发的时候,遇到了一个这样的问题.Traceback (most recent call last):File “test.py”, line 3, in from PyQt5.Q ...

  5. 一个小BUG引发的思考。(论开发与测试之间的那点事)

    标题不是“一个馒头引发的血案”. 言归正传:今天上午测试的时候,发现了一个BUG,如图: 一个用肉眼就能发现的BUG.原因当然是因为开发同事没有自测试,流入到了测试人员这里了. 无非是开发同事不严谨造 ...

  6. 一个JAVA题引发的思考

    转载自:http://www.cnblogs.com/heshan664754022/archive/2013/03/24/2979495.html 十年半山 今天在论坛闲逛的时候发现了一个很有趣的题 ...

  7. IK分词器实现原理剖析 —— 一个小问题引发的思考

    前言: 网上很多的文章都建议在使用IK分词器的时候,建立索引的时候使用ik_max_word模式:搜索的时候使用ik_smart模式.理由是max_word模式分词的结果会包含smart分词的结果,这 ...

  8. Spring之LoadTimeWeaver——一个需求引发的思考---转

    原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...

  9. 由一个emoji引发的思考

    由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来 ...

随机推荐

  1. mybatis: No enum constant org.apache.ibatis.type.JdbcType."VARCHAR"

    mybatis 插入的时候一句sql报错如下. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ib ...

  2. Spring,IOC源码分析

    有错勿喷 1.首先是Spring,IOC的基本概念 IOC是一个容器 容器启动的时候创建所有单实例对象 我们可以直接从容器中获取到这个对象 2.调试流程 ioc容器的启动过程?启动期间都做了什么(什么 ...

  3. Apache Struts2 S2-013远程代码执行漏洞复现

    墨者学院开的靶场 进入环境 Struts2-013好家伙,框架直接写脸上,怕人看不出来= = 看了看源码什么的啥都没发现= = 去了解了一下这个漏洞,爬回来继续做 漏洞原理 struts2的标签中&l ...

  4. 8.JVM内存分配机制超详细解析

    一.对象的加载过程 之前研究过类的加载过程.具体详情可查看文章:https://www.cnblogs.com/ITPower/p/15356099.html 那么,当一个对象被new的时候,是如何加 ...

  5. RabbitMQ的web页面介绍(三)

    一.Virtual Hosts 每一个 RabbitMQ 服务器都能创建虚拟的消息服务器,我们称之为虚拟主机 (virtual host) ,简称为vhost.每一个 vhost 本质上是一个独立的小 ...

  6. 2021能源PWN wp

    babyshellcode 这题考无write泄露,write被沙盒禁用时,可以考虑延时盲注的方式获得flag,此exp可作为此类型题目模版,只需要修改部分参数即可,详细见注释 from pwn im ...

  7. 10-1 Python 学习笔记

    1. 项目 在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的 Python 知识,其中每一行都以"In Python you can"打头. 将这个文件命名为learni ...

  8. 巧用 CSS3 filter(滤镜) 属性

    原文链接:CSS3 filter(滤镜) 属性 效果预览 filter: grayscale(100%); 定义和使用 filter 属性定义了元素(通常是<img>)的可视效果(例如:模 ...

  9. [no code][scrum meeting] Beta 8

    $( "#cnblogs_post_body" ).catalog() 例会时间:5月22日15:30,主持者:赵涛 下次例会时间:5月23日11:30,主持者:肖思炀 一.工作汇 ...

  10. ssh后门反向代理实现内网穿透

    如图所示,内网主机ginger 无公网IP地址,防火墙只允许ginger连接blackbox.example.com主机 假如你是ginger的管理员root,你想要用tech主机连接ginger主机 ...