公司規(guī)定所有接口都用 POST請(qǐng)求,這是為什么?
原問(wèn)題:zhihu.com/question/336797348
看到這個(gè)問(wèn)題的時(shí)候其實(shí)我也挺有感觸的,因?yàn)槲乙苍?jīng)這樣問(wèn)過(guò)我自己。在19的時(shí)候接到一個(gè)項(xiàng)目是從零開(kāi)始搭建一個(gè)微服務(wù),當(dāng)時(shí)就有了解過(guò)接口的一些規(guī)范,比如耳熟能詳?shù)腞estful規(guī)范,就被應(yīng)用到這個(gè)微服務(wù)項(xiàng)目中。
今天再次看到這個(gè)問(wèn)題,我也有了一些新的理解和感觸,臨時(shí)回顧了一下get與post的請(qǐng)求的一些區(qū)別:
post更安全(不會(huì)作為url的一部分,不會(huì)被緩存、保存在服務(wù)器日志、以及瀏覽器瀏覽記錄中) post發(fā)送的數(shù)據(jù)更大(get有url長(zhǎng)度限制) post能發(fā)送更多的數(shù)據(jù)類型(get只能發(fā)送ASCII字符) post比get慢 post用于修改和寫入數(shù)據(jù),get一般用于搜索排序和篩選之類的操作 get請(qǐng)求的是靜態(tài)資源,則會(huì)緩存,如果是數(shù)據(jù),則不會(huì)緩存
查看上面的區(qū)別,就會(huì)發(fā)現(xiàn)post在發(fā)送數(shù)據(jù)量大的請(qǐng)求時(shí)優(yōu)勢(shì)很顯示,get則更適合獲取靜態(tài)資源、簡(jiǎn)單的查詢等接口。(點(diǎn)擊下載2021年最新阿里p7面試題教程)?
我個(gè)人在開(kāi)發(fā)接口的時(shí)候也會(huì)注意,將簡(jiǎn)單的查詢請(qǐng)求使用
get方法,其他增、刪、改、復(fù)雜的查詢請(qǐng)求都可以使用post,但不會(huì)像題主的公司一樣全部使用post。
網(wǎng)友程墨Morgan提出如果是自己會(huì)按照『業(yè)界最佳實(shí)踐』制定規(guī)范:

另外一個(gè)知友提出:就是為了遷就低水平不思進(jìn)取的架構(gòu)師和前后端程序員們。

對(duì)此,如果是你來(lái)設(shè)計(jì)公司的API規(guī)范,會(huì)規(guī)定所有接口都用 post 請(qǐng)求嗎,這是為什么?


盤點(diǎn)一下數(shù)據(jù)庫(kù)的誤操作有哪些后悔藥?

如何打造一個(gè)低效能技術(shù)團(tuán)隊(duì)?

Docker員工自述:我們?yōu)槭裁础拜敗苯o了K8s?
