如何解决澄清 http4s 中路径、挂载点和前缀的概念
我试图澄清一些让我对 http4s 路径感到困惑的概念。
引用文档,
路径信息
路径匹配是在请求的 pathInfo 上完成的。路径信息是请求的 URI 路径,后面是:
- 服务的挂载点
- 前缀,如果服务由路由器组成
- 前缀,如果服务是用 TranslateUri 重写的
匹配 request.pathInfo
而不是 request.uri.path
允许组合多个服务而无需重写所有路径匹配器。
我想澄清一下挂载点和前缀的概念。
- 有人可以举一个挂载点定义与前缀的例子吗?
- 服务是否可以同时具有不同的挂载点和前缀?
我怀疑这个例子中的挂载点是/hello
?
HttpRoutes.of[IO] {
case GET -> Root / "hello" => Ok("hello")
}
- 在编写以下代码时,我们定义了 2 个前缀
/
和/api
,但它们是否也考虑了挂载点?
val services = tweetService <+> helloWorldService
val httpApp = Router("/" -> helloWorldService,"/api" -> services).orNotFound
因为引用了文档,我们有:
我们从一个 BlazeServerBuilder 开始,然后挂载 / 的基本路径下的 helloWorldService 和其余的 /api
基本路径下的服务- 对于第二个前缀
/api
, 中的
helloWorldService
的 Root 是什么
case GET -> Root / "hello"
是 /api
,如 Root = /api
吗?
- 这种情况下
helloWorldService
的挂载点是什么,前缀是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。