【发布时间】:2020-11-30 09:28:49
【问题描述】:
我正在尝试在不使用字符串插值的情况下处理分页,并且还利用了 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"
}
【问题讨论】:
-
我不确定您是在谈论使用 HTTP4s 匹配器从随机字符串中提取分页值还是添加通过 HTTP4s 路由 DSL 解析查询参数的能力。
-
我正在考虑增加通过 HTTP4s 路由 DSL 解析查询参数的能力
标签: scala pagination http4s