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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

zavier的乌托邦   2023-02-03 我要评论

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

1、前端代码

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

2、服务端代码

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

3、Spring boot源码(重点)

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

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

@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映射

总结

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们