我使用Scala和Lift进行REST Web服务,我有一个生成动态jpg图像的方法,应该可以通过Get Request访问,这样对于每个Get-Request,该方法再次生成一个图像并将其发回在回应中。
我在服务中提出了一个案例:
case "img.jpg" :: Nil Get _ => Full(OkResponse())
case _ => Full(NotFoundResponse())
但是这种情况似乎没有被识别,它总是捕获Default-Case。
在。网址上投放路线的正确方法是什么?什么样的响应类型可用于提供jpg?
答案 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())