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

使用POST接口存储数据库数据时出现GET方法不支持异常

解决Spring Boot接口GET方法不支持的问题

错误原因

你的接口使用@PostMapping("/user1")注解,明确指定该接口仅接受POST请求,但你实际调用时使用了GET方法,因此触发HttpRequestMethodNotSupportedException异常。

解决方案

方案1:改用POST请求调用接口(推荐)

这是符合REST规范的正确做法(创建资源应使用POST方法):

  • 用接口测试工具(如Postman、ApiFox):选择POST方法,填写接口地址/user1,在请求体(Body)中选择raw-JSON格式,传入符合userModel结构的JSON数据(即使代码中硬编码了字段值,也需要传入合法的JSON避免@RequestBody校验报错)。
  • 前端代码调用:使用POST方式发起请求,示例(axios):
    axios.post('/user1', {
      // 填写userModel对应字段,保证结构合法即可
      userId: 0,
      userName: "",
      userEmail: "",
      userPass: ""
    }).then(res => console.log(res));
    

方案2:修改接口支持GET请求(不推荐)

如果业务场景确实需要用GET方法创建数据(不符合REST规范,不建议),需要调整接口注解和参数:

  1. 将@PostMapping("/user1")替换为@GetMapping("/user1");
  2. 移除@RequestBody userModel user参数(GET请求无请求体),若需接收参数改用@RequestParam或路径参数。修改后的代码示例:
    @RestController
    public class userController {
        
        @Autowired
        userRepo Userrepo;
        
        @GetMapping("/user1")
        public userModel createUser()
        {
            userModel user = new userModel();
            user.setUserId(111);
            user.setUserName("sury");
            user.setUserEmail("sury@gmail.com");
            user.setUserPass("LeoLeo");
        
            return Userrepo.save(user);
        }
    }
    

注意事项

REST规范中,POST用于创建资源、GET用于查询资源,优先选择方案1来保持接口语义的正确性,避免混淆接口用途。

内容的提问来源于stack exchange,提问作者SURYA-DEVELOPER

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:40:20