SpringBoot中的PUT和Delete請(qǐng)求使用_第1頁(yè)
SpringBoot中的PUT和Delete請(qǐng)求使用_第2頁(yè)
SpringBoot中的PUT和Delete請(qǐng)求使用_第3頁(yè)
SpringBoot中的PUT和Delete請(qǐng)求使用_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第SpringBoot中的PUT和Delete請(qǐng)求使用目錄PUT和Delete請(qǐng)求使用我們可以通過(guò)如下三個(gè)步驟實(shí)現(xiàn)解決辦法如何支持put/delete請(qǐng)求1.在perties中配置2.使用時(shí)依舊和springmvc一樣

PUT和Delete請(qǐng)求使用

在Form表單中,只支持get和post方式,而為了實(shí)現(xiàn)put方式

我們可以通過(guò)如下三個(gè)步驟實(shí)現(xiàn)

1)SpringMVC中配置HiddenHttpMethodFilter

2)頁(yè)面創(chuàng)建一個(gè)post表單

3)創(chuàng)建一個(gè)input項(xiàng),name=_method,值就是指定的請(qǐng)求方式

其中在HiddenHttpMethodFilter類中

獲取_method的值,得到新的請(qǐng)求方式。

inputtype="hidden"name="_method"value="put"th:if="${employee!=null}"/

其中th標(biāo)簽是thymeleaf模板,表示只有當(dāng)employee不為空時(shí)才生效,而value中的put不區(qū)分大小寫。

當(dāng)時(shí)在新版本的SpringBoot中,這個(gè)put請(qǐng)求不發(fā)生作用。原因是因?yàn)閟pringboot自動(dòng)配置,幫我們省略了第一步的配置,上面代碼方法就是為了實(shí)現(xiàn)自動(dòng)配置,但是因?yàn)樽⒔釦ConditionalOnProperty限制了自動(dòng)配置,默認(rèn)false不開(kāi)啟配置,所以頁(yè)面的put提交無(wú)法使用。

解決辦法

properties配置文件中配置,使之開(kāi)啟自動(dòng)配置:spring.mvc.hiddenmethod.filter.enabled=true。

此外,DELETE請(qǐng)求也可以同樣這樣設(shè)置。

formth:action="@{/emp/}+${emp.id}"method="post"

inputtype="hidden"name="_method"value="delete"/

buttontype="submit"刪除/button

/form

如何支持put/delete請(qǐng)求

學(xué)過(guò)mvc的都知道,想要支持這兩種特殊的請(qǐng)求,首先就要在web.xml中配置下面的過(guò)濾器:

!--增加一個(gè)HiddenHttpMethodFilter過(guò)濾器:目的是給普通瀏覽器增加put|delete請(qǐng)求方式--

filter

filter-nameHiddenHttpMethodFilter/filter-name

filter-classorg.springframework.web.filter.HiddenHttpMethodFilter/filter-class

/filter

filter-mapping

filter-nameHiddenHttpMethodFilter/filter-name

url-pattern/*/url-pattern

/filter-mapping

而SpringBoot就沒(méi)有這么麻煩了,因?yàn)樗呀?jīng)默認(rèn)幫我們把HiddenHttpMethodFilter納入到IOC容器中了,所以他的使用及其簡(jiǎn)單:

1.在perties中配置

#開(kāi)啟支持putdelete請(qǐng)求的過(guò)濾器

spring.mvc.hiddenmethod.filter.enabled=true

2.使用時(shí)依舊和springmvc一樣

只需要在post請(qǐng)求方式的form表單中加入下面的隱藏域:

!--http請(qǐng)求方式--

formaction="..."

method="post"

inputtype="hidden"name="_method"value="put"/

!--value值改成delete請(qǐng)求方式就為delete了--

/form

注意上面隱藏域的name必須為_(kāi)method,如果想要修改,則需要給IOC加入下面的bean:

@Bean

publicHiddenHttpMethodFilterhiddenHttpMethodFilter(){

HiddenHttpMethodFiltermethodFilter=newHiddenHttpMethodFilter();

methodFilter

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論