zoukankan      html  css  js  c++  java
  • 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
    
    
  • 相关阅读:
    Python-Jenkins 查询job是否存在
    关于QT
    编译C++程序
    Linux基础知识
    Ubuntu下安装QT
    Linux下的编辑器Notepadqq
    简单的说两句
    c之void及void*
    c之(类型)-1?
    c之枚举默认值
  • 原文地址:https://www.cnblogs.com/yuqiliu/p/13092566.html
Copyright © 2011-2022 走看看