在这里如果请求设置不当,往往会报一个405的错误,就是前端请求方式与后端应答方式不匹配,简而言之前端可能要的是put请求,你后端给的应答却是post请求!!!

Restful风格,修改发送put请求

修改时,页面发送put请求

Form表单页面

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

实现方式

1、SpringMVC中配置HiddenHttpMethodFilter

SpringBoot自动配置好的

2、页面创建一个post表单

3、创建一个input项,name=”_method”

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

WebMvcAutoConfiguration

自动配置

hiddenHttpMethodFilter

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

Spring boot的put请求 (如何实现RestFul Api风格)

HiddenHttpMethodFilter

Filter将请求,转换为指定的方式

name=”_method”

在Filter中指定

Spring boot的put请求 (如何实现RestFul Api风格)

doFilterInternal

过滤器,获取请求的value值

根据Value值,使用新的请求方式

Spring boot的put请求 (如何实现RestFul Api风格)

添加input元素

Value,提交方式设置为put

注意,不区分大小写

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

会执行form表单的action请求

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

注:SpringBoot在升级的更高版本之上,如2.2以上的版本时,可能SpringBoot不会自动帮我们配置好,那么就需要我们手动设置,不然会报错!

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

spring.mvc.hiddenmethod.filter.enabled=true

相关文章:

  • 2021-07-27
  • 2021-07-25
  • 2021-06-22
  • 2021-09-29
  • 2021-08-05
猜你喜欢
  • 2022-12-23
  • 2021-06-02
  • 2021-05-18
  • 2021-08-11
  • 2022-12-23
  • 2021-07-03
  • 2021-10-10
相关资源
相似解决方案