You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

@DeleteMapping失效,报HttpRequestMethodNotSupportedException错误求助

问题:Spring Boot CRUD应用DELETE方法返回405错误

我正在开发一个CRUD应用,使用Postman测试时,DELETE方法返回405 Method Not Allowed错误。尝试在application.properties中添加配置spring.mvc.hiddenmethod.filter.enabled: true后,问题仍未解决。GET、POST、PUT方法均能正常工作,仅DELETE方法出现该问题。

Controller代码

@RestController
@RequestMapping("/employees")
public class EmpController {
    
    @Autowired
    private EmpService empService;
    @Autowired
    private EmpRepository empRepo;
    
    @GetMapping("")
    public List<Employee> getAllEmployees() {
        return empService.getAllEmployees();
    }
    
    @PostMapping("")
    public void addEmployee(@RequestBody Employee emp) {
        empService.addEmployee(emp);
    }
    
    @PutMapping("/{id}")
    public void updateEmployee(@PathVariable String id, @RequestBody Employee emp) {
        empService.updateEmployee(id, emp);
    }
    
    @DeleteMapping(path="/{id}")
    public void deleteEmployee(@PathVariable String id) {
        System.out.println("Delete function");
        empService.deleteEmployee(id);
    }
}

Service代码

@org.springframework.stereotype.Service
public class EmpService {
    @Autowired
    public EmpRepository empRepo;
    
    public List<Employee> getAllEmployees() {
        List<Employee> employees = new ArrayList<>();
        empRepo.findAll().forEach(employees::add);
        return employees;
    }
    
    public void addEmployee(Employee emp) {
        empRepo.save(emp);
    }
    
    public void updateEmployee(String id, Employee emp) {
        empRepo.save(emp);
    }
    
    public void deleteEmployee(String id) {
        empRepo.deleteById(id);
    }
}

内容的提问来源于stack exchange,提问作者Mehar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:01:23