Spring boot的put請求 (如何實現RestFul Api風格)


在這里如果請求設置不當,往往會報一個405的錯誤,就是前端請求方式與后端應答方式不匹配,簡而言之前端可能要的是put請求,你后端給的應答卻是post請求!!!

Put請求

Restful風格,修改發送put請求

修改時,頁面發送put請求

Form表單頁面

只支持get、post方式,那么我們如何在后端用Put Delete等請求來接受呢?

實現方式

1、SpringMVC中配置HiddenHttpMethodFilter

SpringBoot自動配置好的

2、頁面創建一個post表單

3、創建一個input項,name=”_method”

Value,值就是指定的請求方式

WebMvcAutoConfiguration

自動配置

hiddenHttpMethodFilter

自動配置好了Filter,直接使用即可

HiddenHttpMethodFilter

Filter將請求,轉換為指定的方式

name=”_method”

在Filter中指定

doFilterInternal

過濾器,獲取請求的value值

根據Value值,使用新的請求方式

添加input元素

Value,提交方式設置為put

注意,不區分大小寫

在表單中使用即可
<input type="hidden" name="_method" value="put"/>

會執行form表單的action請求

提交方式,使用配置的put方式提交

注:SpringBoot在升級的更高版本之上,如2.2以上的版本時,可能SpringBoot不會自動幫我們配置好,那么就需要我們手動設置,不然會報錯!

只需要在配置文件中添加該行配置即可

spring.mvc.hiddenmethod.filter.enabled=true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM