问题描述
我试图澄清一些让我对 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 (将#修改为@)