首页 > 解决方案 > 来自邮递员的 Springboot @PutMapping 405 错误

问题描述

Springboot 2.1.8.RELEASE 版本

控制器

    @PutMapping("/sample/{id}")
    public Sample update(@PathVariable String id, @RequestBody Sample s){
        s.setId(id);
        return sampleService.update(s);
    }

邮差

输入 http://localhost:8080/sample/ sspa01

返回

{
    "status": 405,
    "error": "Method Not Allowed",
    "message": "Request method 'PUT' not supported",
    "path": "/sample/sspa01"
}

感谢让我知道如何解决此问题

标签: javaspring-boot

解决方案


在这里可以通过为 PUT 定义一个显式映射来解决这个问题,在现有的方法映射中

试试这个

  //@PutMapping("/sample/{id}")
@RequestMapping(value = "/sample/{id}", produces = "application/json",  method=RequestMethod.PUT)
  @RequestMapping(value = "/sample/{id}", produces = "application/json",  method=RequestMethod.PUT)
    public Sample update(@PathVariable("id") String id, @RequestBody Sample s){
        s.setId(id);
        return sampleService.update(s);
    }

推荐阅读