接口開發(fā)有哪些技術(shù) 接口編程中,為什么只用get和post?
接口編程中,為什么只用get和post?得到,帖子就夠了。。restful接口做什么?完成這項工作很好。別胡思亂想了這是個很好的問題。我是一個web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個問題。歡迎跟
接口編程中,為什么只用get和post?
得到,帖子就夠了。。restful接口做什么?完成這項工作很好。別胡思亂想了
這是個很好的問題。我是一個web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個問題。歡迎跟我來了解更多。
后端提供接口文檔為時已晚,這是合理和不合理的。根據(jù)具體情況,總有解決辦法。讓我談?wù)勎业挠^點。
不合理:成熟的技術(shù)團(tuán)隊重視功能設(shè)計,在編寫代碼之前有完整的技術(shù)文檔和功能定義。即使在TDD測試驅(qū)動的開發(fā)模式下,測試數(shù)據(jù)已經(jīng)準(zhǔn)備好了,那么接口邏輯就已經(jīng)確定了接口文檔是否編寫好了,理清它們是很自然的。
-第一,主觀原因。原因是多方面的,比如趕進(jìn)度,沒有時間,不懶得寫,甚至在開發(fā)前沒有仔細(xì)設(shè)計,在做的時候也有變化。真的沒有好辦法。
-客觀原因:需求在變化,功能在變化,接口也在變化。所以,如果你寫了一個文件,它的自然更新和維護(hù)?天哪?
有解決方案嗎?建議嘗試:[1]swagger接口文檔,將文檔集成到代碼中,集成維護(hù)文檔和修改代碼,在修改代碼邏輯的同時方便修改文檔描述。
2、郵遞員界面測試工具,導(dǎo)入導(dǎo)出JSON文件,高效的團(tuán)隊合作。Postman支持各種請求方法和配置環(huán)境變量,對返回的結(jié)果進(jìn)行測試和驗證,支持批量自動操作,可與自動構(gòu)建系統(tǒng)集成。
后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
簡單一點,HTTP是協(xié)議,RPC是概念!RPC可以基于HTTP協(xié)議(feign)、TCP協(xié)議(netty)、RMI協(xié)議(soap)和web服務(wù)(XML-RPC)框架實現(xiàn)。在傳輸過程中,由于序列化方法的不同,也出現(xiàn)了一些框架和協(xié)議,如Dubbo中的Dubbo協(xié)議、grpc protobuf序列化協(xié)議等。實際上,它們都是基于遠(yuǎn)程調(diào)用的概念。什么是遠(yuǎn)程呼叫?
關(guān)鍵是RPC是遠(yuǎn)程調(diào)用。遠(yuǎn)程調(diào)用是客戶端通過上述協(xié)議向服務(wù)器發(fā)送接口、參數(shù)、參數(shù)類型、方法、返回值、返回值類型等(稱為方法簽名),通知服務(wù)器要調(diào)用的接口方法。這個過程就是RPC的實現(xiàn)過程!HTTP和RPC是兩碼事
!在性能方面,HTTP本身是基于TCP協(xié)議的,屬于應(yīng)用層協(xié)議,所以HTTP協(xié)議本身在實現(xiàn)過程中會占用大量的資源(內(nèi)存、帶寬等)。在性能方面,它肯定不如直接通過TCP實現(xiàn)的RPC協(xié)議快。不管HTTP有多優(yōu)化,它絕對沒有TCP那么快!另一方面,TCP依賴于字節(jié)碼。目前常用的是將客戶端調(diào)用的接口信息以序列化的方式發(fā)送到服務(wù)器端。序列化框架包括許多內(nèi)容(Hession、protobuf、kryo等)。Kryo具有最高的序列化性能,protobuf具有序列化后最小的字節(jié)碼)。序列化后的字節(jié)碼越小,占用的帶寬越小,序列化時間越長,線程IO延遲越短,線程IO延遲越小。因此,在具體的應(yīng)用層,有很多技術(shù)可以討論。您可以根據(jù)自己的硬件能力選擇相應(yīng)的技術(shù)
!歡迎熱愛科技的人們來探索!