【发布时间】:2021-01-13 22:12:03
【问题描述】:
我有一个像这样的简单端点。
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response registerPayment(Payment payment) throws Exception {
try {
DTUPayAccount customer = new DTUPayAccount();
DTUPayAccount merchant = new DTUPayAccount();
TransactionLog transaction;
String customerId = tokenManagement.validateToken(payment.getToken());
customer.setBankID(accountManagement.getDtuPayAccount(customerId).getBankID());
merchant.setBankID(accountManagement.getDtuPayAccount(payment.getMerchantDtuPayID()).getBankID());
bank.addPayment(customer.getBankID(), merchant.getBankID(), payment.getAmount(), "Added payment");
transaction = new TransactionLog(
customerId,
payment.getMerchantDtuPayID(),
payment.getToken(),
payment.getAmount()
);
transactionLog.StoreTransaction(transaction);
return Response.status(201).entity("The payment was succesful").build();
} catch (Exception err) {
return Response.status(400).entity(err.getMessage()).build();
}
}
当我在开发模式下本地运行我的 api 时,它会正确返回 201 状态代码。但是,当我在 docker 容器中运行它并在请求正文中发送完全相同的数据时,我收到 500 内部服务器错误。
我的码头文件
FROM adoptopenjdk:11-jre-hotspot
WORKDIR /usr/src
COPY target/code-with-quarkus-1.0.0-SNAPSHOT-runner.jar /usr/src
CMD java -Xmx64m \
-jar code-with-quarkus-1.0.0-SNAPSHOT-runner.jar
现在我什至不知道从哪里开始寻找可能的原因,但是有人知道在哪里寻找可能有意义吗?
【问题讨论】: