在這里如果請求設置不當,往往會報一個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