Как я могу ответить пользовательской ошибкой в ​​Akka gRPC - PullRequest
0 голосов
/ 16 октября 2019

Как отправить ошибку при использовании Akka-gRPC. Мне известно о responseObserver.Error при использовании собственных интерфейсов gRPC, но я не могу найти лучший способ сделать это в Akka-gRPC.

Я пытался это сделать, однако я не уверен, что этоэто хороший подход, и к тому же он не дает преимуществ от использования Google. Модель заблаговременной ошибки

override fun createUser(req: CreateUserRequest?): CompletionStage<User>{
    requireNotNull(req)

    val validations = validator.validate(req.user)

    if (validations.isNotEmpty()) return CompletableFuture.failedStage(GrpcServiceException())

    val user = User.newBuilder().build()
    return CompletableFuture.completedFuture(user)
}

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете использовать GrpcServiceException для этого: вы можете либо потерпеть неудачу с CompletionStage, либо выбросить его из тела createUser.

...