使用喷雾发送和接收不同类型的消息

时间:2014-07-21 11:32:17

标签: scala spray

我正在使用喷涂路由和喷涂客户端。 我看到,喷涂客户端中的pipleline允许默认定义一种且仅一种类型的答案。 我想用喷涂路由公开一个休息的json服务,它使用ServiceResponse类型回复,或者使用Error响应类型。 我可以在喷涂路由上定义ServiceResponse和Error的类型和编组,并定义返回ServiceResponse或Error的路由。

我不知道如何从喷雾客户端调用它,因为结果将是Future [ServiceResponse]或Future [Error]。 我工作的唯一解决方案是定义封装:MetaResponse(Option(ServiceResponse),Option [Error])。 在喷雾客户端我使用模式匹配来知道我在哪种情况下。但我发现这个解决方案很难看。

有没有办法指定给定的客户端请求可以期望多种返回类型?

感谢。

0 个答案:

没有答案