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

Spring Data JPA用receiptNumber更新实体Postman报405错误求助

问题原因与解决方案

405 Method Not Allowed错误本质是当前请求的方法和路径无法匹配到后端定义的对应接口,你的代码存在以下几个需要修复的问题:

1. 控制层路径定义错误

你当前的@PutMapping路径缺少路径参数分隔符,规则不合法:

// 错误写法:路径变量和前缀之间没有斜杠,无法匹配/payBill/xxx格式的请求
@PutMapping("/payBill{receiptNumber}")

修复为:

// 正确写法:加斜杠分隔固定路径和路径变量
@PutMapping("/payBill/{receiptNumber}")

2. 服务层修改未持久化到数据库

你当前的业务逻辑只修改了内存中实体对象的属性,没有同步到MongoDB,需要新增保存逻辑:

public PayBill updateVCashTopUpStatus(String receiptNumber){
    PayBill payBill = payBillRepository.findByReceiptNumber(receiptNumber);
    // 建议新增非空判断,避免receiptNumber不存在时触发空指针异常
    if (payBill == null) {
        throw new RuntimeException("对应交易记录不存在");
    }
    payBill.setFinalStatus("Success");
    // 新增保存代码,把修改同步到数据库
    payBillRepository.save(payBill);
    return payBill;
}

3. Postman请求配置校验

修复代码后需要确认Postman的请求配置符合接口要求:

  • 请求方法必须选择PUT,不能使用GET、POST等其他方法
  • 请求路径格式需匹配修复后的规则,比如receiptNumber为REC123456时,请求地址应为http://{你的服务域名/IP:端口}/payBill/REC123456

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:45:08