一個校驗接口引發的思考–我真的了解Response嗎
一個校驗接口
最近,我需要對接一個外部接口,基本功能是:校驗指定的門店是否完善了貨運信息。接口大致是這樣的:
POST //******/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 的。
最後,感謝閱讀,歡迎私信交流。
本文為原創文章,轉載請附上原文出處鏈接://www.cnblogs.com/ZhangZiSheng001/p/15552479.html