我正在尝试在不使用字符串插值的情况下处理分页,并且还利用了 http4s 功能。我遇到过OptionalQueryParamDecoderMatcher
,我不知道它是否适合我的用例。因此响应包含标题,该标题包含有关 Link 属性中的页数的信息。它的 rel 设置为 prev、next、first 或 last。如下 :
<https://gitlab.example.com/api/v4/projects/8/issues/8/notes?page=1&per_page=3>; rel="prev", <https://gitlab.example.com/api/v4/projects/8/issues/8/notes?page=3&per_page=3>; rel="next", <https://gitlab.example.com/api/v4/projects/8/issues/8/notes?page=1&per_page=3>; rel="first", <https://gitlab.example.com/api/v4/projects/8/issues/8/notes?page=3&per_page=3>; rel="last"
我的想法是获取指定为最后的页数(即总页数),然后加一以获得所有结果。我想到的第一种方法是字符串插值,但我相信会有一种更简单的方法来做到这一点,尤其是利用 http4s。
有人可以启发我吗?我对你的建议持开放态度。
注意:httpRoute 被指定为这个例子:
val routes = HttpRoutes.of[IO] {
case GET -> Root /"projects"/project_name/"Details"
}