【问题标题】:Update spring data JPA entity更新 Spring Data JPA 实体
【发布时间】: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


【解决方案1】:
  1. 梳理您网站的代码以查找错误。 如果您的网站代码有错误,您的网络服务器可能无法正确回答来自内容交付网络的请求。梳理您的代码以查找错误或将您的代码复制到开发机器中。它将执行一个彻底的调试过程,模拟您的 405 Method Not Allowed Error 发生的确切情况,并让您看到出现问题的确切时刻。

  2. 筛选您的服务器端日志。 有两种类型的服务器端日志——应用程序日志和服务器日志。应用程序日志记录了您网站的整个历史记录,例如访问者请求的网页及其连接的服务器。服务器日志提供有关运行服务器的硬件的信息,揭示有关其运行状况和状态的详细信息。筛选这两种类型的服务器端日志,以发现有关您的服务器或网站的任何令人担忧的信息。

  3. 检查您的服务器配置文件。 找出导致 405 Method Not Allowed 错误的最后一种方法是查看 Web 服务器的配置文件。您通常可以在此处找到解决意外重定向的说明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2017-02-06
    • 2015-09-11
    相关资源
    最近更新 更多