經(jīng)常會(huì)混淆HTTP的POST/PUT方法,因?yàn)檫@兩個(gè)方法似乎都可以用來創(chuàng)建或更新一個(gè)資源。
區(qū)別是細(xì)微但清楚的:
POST方法用來創(chuàng)建一個(gè)子資源,如 /api/users,會(huì)在users下面創(chuàng)建一個(gè)user,如users/1
POST方法不是冪等的,多次執(zhí)行,將導(dǎo)致多條相同的用戶被創(chuàng)建(users/1,users/2 …而這些用戶除了自增長id外有著相同的數(shù)據(jù),除非你的系統(tǒng)實(shí)現(xiàn)了額外的數(shù)據(jù)唯一性檢查)
而PUT方法用來創(chuàng)建一個(gè)URI已知的資源,或?qū)σ阎Y源進(jìn)行完全替換,比如users/1,
因此PUT方法一般會(huì)用來更新一個(gè)已知資源,除非在創(chuàng)建前,你完全知道自己要?jiǎng)?chuàng)建的對象的URI。
PATCH方法是新引入的,是對PUT方法的補(bǔ)充,用來對已知資源進(jìn)行局部更新
GET 獲取資源
POST 創(chuàng)建資源
PUT 編輯/更新資源(需提交完整的資源字段)
PATCH 編輯/更新資源(可以提交需要更新的字段)
DELETE 刪除資源
OPTIONS 服務(wù)器允許哪些請求謂詞
這些就是最近比較流行的RestFul模式常用的,另HTML表單只支持POST、GET兩種請求方式,PUT、PATCH以及DELETE是Laravel中偽造的HTTP請求方式,需要在表單中添加才能生效,還要配置路由。
以上這篇淺談Laravel POST,PUT,PATCH 路由的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
標(biāo)簽:自貢 郴州 香港 金華 通化 寶雞 阿克蘇 佳木斯
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談Laravel POST,PUT,PATCH 路由的區(qū)別》,本文關(guān)鍵詞 淺談,Laravel,POST,PUT,PATCH,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。