Java 喷洒路线连接的错误传播

Java 喷洒路线连接的错误传播,java,scala,spray,Java,Scala,Spray,面对一个小问题。我已经用一些示例代码提取了这个问题,所以请原谅我的粗鲁 我有一系列的喷雾路线。我也有一些自定义指令来封装逻辑 countrySegment { ??? } ~ pathPrefix("England") { ??? } ~ pathPrefix("America") { pathPrefix("Texas") { pathEnd { ??? } } } 国家段法如下所示: def coun

面对一个小问题。我已经用一些示例代码提取了这个问题,所以请原谅我的粗鲁

我有一系列的喷雾路线。我也有一些自定义指令来封装逻辑

countrySegment {
    ???
} ~ pathPrefix("England") {
    ???
}  ~ pathPrefix("America") {
    pathPrefix("Texas") {
        pathEnd {
            ???
        }
    }
}
国家段法如下所示:

def countrySegment(route: Activity => Route): Route = {
    println("in country segment")
    pathPrefix(Segment) { segment =>
        Country(segment) match {
            case Some(country) => route(country)
            case None => reject(SegmentRejection("contry"))
        }
    }
}
如果路径前缀未通过我的模式匹配,则抛出拒绝的简单意图

当试图将json发布到路由并在案例类
实体(如[CountryInformation])
中封送它时,将发生这种情况,除非请求格式不正确。它实际上不会在这里抛出错误,而是向countrySegment抛出一个不相关的错误

查看路线浓缩的文档或
~
这似乎是理想的行为

“返回链接两条路由的路由。如果第一条路由拒绝请求,则第二条路由将有机会根据请求采取行动。”

如果我删除countySegment块,错误将在正确的点处理

有没有人经历过这个问题?我是否正确使用路由连接?为什么会冒出这个错误

谢谢大家

我再次尝试简化这个问题,但是如果您想看到真实的代码或只是更多的信息,请告诉我