gpt4 book ai didi

Scala、cats、http4s - 无法识别来自 Http4s 的 <+> 符号

转载 作者:行者123 更新时间:2023-12-03 16:13:28 25 4
gpt4 key购买 nike

我创建了两个 Http4s路线:

class FirstRoutes[F[_] : Async](service: FirstService[F]) extends Http4sDsl[F] {        
def routes: HttpRoutes[F] = HttpRoutes.of[F] {
//... some code
}
}

class SecondRoutes[F[_] : Async] extends Http4sDsl[F] {
def routes: HttpRoutes[F] = HttpRoutes.of[F] {
//... some code
}
}

现在在我的 main方法我想这样称呼这条路线:
override def run(args: List[String]): IO[ExitCode] =
for {
_ <- {
val app = {
//...
val firstRoutes = new FirstRoutes[F](someService)
val secondRoutes = new SecondRoutes[F]
(firstRoutes.routes <+> secondRoutes.routes).orNotFound
}

但是当我编译这段代码时,我得到了一个错误:
Error:(26, 33) value <+> is not a member of org.http4s.HttpRoutes[Server.F]
(firstRoutes.routes <+> secondRoutes.routes).orNotFound

对我来说很奇怪,因为我可以正常使用这个 <+>当我在路由类上使用 ctrl+space 并且我有很好的导入时的符号:
import cats.effect._
import cats.data._
import org.http4s.server.blaze.BlazeServerBuilder
import cats.effect._
import cats.implicits._

无法找到如何解决此问题并使用 <+>调用路由类。也许这是intellij问题?有人能帮我吗?

最佳答案

为 build.sbt 添加此 scala 选项

scalacOptions += "-Ypartial-unification"

关于Scala、cats、http4s - 无法识别来自 Http4s 的 <+> 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55857659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com