Scala Lift - REST-获取动态生成的图像

时间:2014-09-04 09:34:34

标签: scala lift

我使用Scala和Lift进行REST Web服务,我有一个生成动态jpg图像的方法,应该可以通过Get Request访问,这样对于每个Get-Request,该方法再次生成一个图像并将其发回在回应中。

我在服务中提出了一个案例:

case "img.jpg" :: Nil Get _ => Full(OkResponse())
case _ => Full(NotFoundResponse())

但是这种情况似乎没有被识别,它总是捕获Default-Case。

网址上投放路线的正确方法是什么?什么样的响应类型可用于提供jpg?

1 个答案:

答案 0 :(得分:1)

文件扩展名与路径的其余部分分开处理,因此与上面的匹配将无法正常工作。您可以在Lift Cookbook中看到有关此问题的更多讨论。

要完成上述工作,您应该可以这样做:

case "img" :: Nil Get req if req.path.suffix == "jpg" => Full(OkResponse())

我相信你也可以使用Req对象,它可以让你指定这样的后缀:

case Req("img" :: Nil, "jpg", GetRequest) => Full(OkResponse())