一個校驗介面
最近,我需要對接一個外部介面,基本功能是:校驗指定的門店是否完善了貨運資訊。介面大致是這樣的:
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