开发者

解决SpringBoot的@DeleteMapping注解的方法不被调用问题

开发者 https://www.devze.com 2023-01-13 10:28 出处:网络 作者: zavier的乌托邦
目录SpringBoot的@DeleteMapping注解的方法不被调用1、前端代码2、服务端代码3、Spring boot源码(重点)4、配置文件SpringBoot开发中常用的注解参数说明如下总结SpringBoot的@DeleteMapping注解的方法不被调用
目录
  • SpringBoot的@DeleteMapping注解的方法不被调用
    • 1、前端代码
    • 2、服务端代码
    • 3、Spring boot源码(重点)
    • 4、配置文件
  • SpringBoot开发中常用的注解
    • 参数说明如下
  • 总结

    SpringBoot的@DeleteMapping注解的方法不被调用

    1、前端代码

    <!--1 给当前按钮绑定样式deleteBtn
        2 给按钮绑定自定义属性-->
    <button th:attr="del_uri=@{/emp/}http://www.devze.com+${emp.id}" class="btn btn-sm btn-danger deleteBtn"         
      type="submit">删除</button>
     
    &l编程客栈t;!--创建一个表单-->
    <form id="delFormBtn" method="post">
        <input type="hidden" name="_method" value="delete">
    </form>
     
    <script>
            // 按钮点击时调用该方法
    	$(".deleteBtn").click(function(){
    	//绑定属性提交表单
    	$("#delFormBtn").attr("action",$(this).attr("del_u编程ri")).submit();
    	return false;
        });
    </script>

    2、服务端代码

        @DeleteMapping("/emp/{id}")
        public String delete(@PathVariable("id") Integer id){
            employeandroideDao.delete(id);
            return "redirect:/emps";
        }

    3、Spring boot源码(重点)

    解决SpringBoot的@DeleteMapping注解的方法不被调用问题

    3.1、matchIfMissing的用法:

    (1)如果配置文件中没有配置 spring.mvc.hiddenmethod.filter.enabled 的属性,并且matchIfMissing = false,那么不符合加载 hiddenHttpMethodFilter()的条件,反之matchIfMissing = true,符合加载hiddenHttpMethodFilter()的条件。

    (2)如果配置文件中配置了 spring.mvc.hiddenmethod.filter.enabled = false,不管matchIfMissing = false 或者 matchIfMissing = true,都不符合加载hiddenHttpMethodFilter()的条件。

    (3)如果配置文件中配置了 spring.mvc.hiddenmethod.filter.enabled = true ,不管matchIfMissing = false 或者 matchIfMissing = true,都符合加载hiddenHttpMethodFilter()的条件。

    4、配置文件

    在application.yml或者application.properties中加入spring.mvc.hiddenmethod.filter.enabled = true即可。

    SpringBoot开发中常用的注解

    @ApiOperation和@ApiParam为添加的API相关注解

    参数说明如下

    @ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”);其他参数可参考源码;

    @ApiParam(required = “是否必须参数”, name = “参数名称”, value = “参数具体描述”)

    @Autowired

    • 这个注解的作用是将其他的类,接口引开发者_C学习入,类似于之前的类的初始化等,用这个注解,类中或接口的方法就可以直接调用了。

    @RequestMapping

    • 当前台界面调用Controller处理数据时候告诉控制器怎么操作
    • 作用:URL映射。

    @GetMapping

    • @RequestMapping(method = RequestMethod.GET)的简写
    • 作用:对应查询,表明是一个查询URL映射

    @PostMapping

    • @RequestMapping(method = RequestMethod.POST)的简写
    • 作用:对应增加,表明是一个增加URL映射

    @PutMapping

    • @RequestMapping(method = RequestMethod.PUT)的简写
    • 作用:对应更新,表明是一个更新URL映射

    @DeleteMapping

    • @RequestMapping(method = RequestMethod.DELETE)的简写
    • 作用:对应编程客栈删除,表明是一个删除URL映射

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号