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

如何在Scala Lagom中抛出自定义http错误,scala,http-error,lagom,Scala,Http Error,Lagom,我知道如何使用 抛出错误请求(“错误请求”) 但这将返回http错误代码400。 例如,如何返回http错误代码409(冲突)?您需要创建自定义异常,该异常必须从TransportException继承: val ConflictErrorCode: TransportErrorCode = TransportErrorCode(409, -1003, "Conflict") final class Conflict(message: String) extends Transport

我知道如何使用

抛出错误请求(“错误请求”)

但这将返回http错误代码400。
例如,如何返回http错误代码409(冲突)?

您需要创建自定义异常,该异常必须从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")

如果我使用了这个代码,它表明它需要是一个可丢弃的而不是TransportErrorCode。似乎错误的消息是因为第一个val也使用了冲突的名称。所以当我抛出新的冲突时,出现了一个错误。但现在它引用了正确的冲突