【发布时间】:2021-11-15 10:54:51
【问题描述】:
您好,我正在通过receiptNumber 更新实体以指定交易是成功还是失败。每当我在这里执行我的代码时,我都会从邮递员应用程序中得到错误
"status": 405,
"error": "Method Not Allowed",
提前感谢您的任何帮助。
这是我的实体
@Document(collection = "PayBillValidate")
public class PayBill {
@Id
private String _id;
private String date;
private String src;
private String dest;
private String url;
private String status;
private String processing_time;
private String httpMethod;
private String MSISDN;
private String BillIssuerShortCode;
private String BillRefNumber;
private String TransAmount;
private String InvoiceNumber;
private String TransDate;
@Field("ReceiptNumber")
private String receiptNumber;
private String KYCInfo;
private String finalStatus;
getters, setters...
}
这是我的仓库
public interface PayBillRepository extends MongoRepository<PayBill, String> {
PayBill findByReceiptNumber (String receiptNumber);
}
这是我的服务
public PayBill updateVCashTopUpStatus(String receiptNumber){
PayBill payBill = payBillRepository.findByReceiptNumber(receiptNumber);
payBill.setFinalStatus("Success");
return payBill;
}
这是我的控制器
@PutMapping("/payBill{receiptNumber}")
public PayBill updateVCashTopUp(@PathVariable String receiptNumber){
return dataLogService.updateVCashTopUpStatus(receiptNumber);
}
【问题讨论】:
-
当从邮递员调用你的 api 时,你设置的是哪种方法?是 put 还是 get?
-
您的 API 将调用定义为具有
PUT方法。我怀疑您的 Postman 客户端的 http 方法设置为GET(创建新请求时的默认值)。将其切换到PUT,问题应该会消失。 -
请将方法设置为 PUT
-
截取 Postman 请求的屏幕截图,或复制 curl 命令,
-
我们需要知道您如何在 Postman 中调用您的 API,因此请分享此信息。谢谢。
标签: java spring-boot jpa