如何在 Scala Lagom 中抛出自定义 http 错误

how to Throw a customize http error in Scala Lagom

我知道如何使用

在 Lagom 中抛出错误请求

throw BadRequest("Bad Request")

但这将 return 的 http 错误代码为 400。 例如,我如何 return 使用 409(冲突)的 http 错误代码?

您需要创建必须从 TransportException 继承的自定义异常:

val ConflictErrorCode: TransportErrorCode = TransportErrorCode(409, -1003, "Conflict")

final class Conflict(message: String)
    extends TransportException(ConflictErrorCode, new ExceptionMessage(ConflictErrorCode.description, message))

然后在你的代码中,你需要这样写:

throw new Conflict("Some conflict message")