Проблема Scala 3 http4s с кодированием/декодированием json

#scala #scala-3 #http4s

Вопрос:

У меня есть проект Scala 3 (версия 3.0.0), и я пытаюсь создать простой Rest API с помощью http4s.

У меня проблема с декодированием/кодированием JSON.

Я создаю свой код на основе http4s.g8.

Проблема возникает в этой строке:

 implicit val jokeDecoder: Decoder[Joke] = deriveDecoder[Joke]
 

Ошибка компиляции:

неявный аргумент типа не deriving.Mirror.Of[com.example.quickstart.Jokes.Joke] был найден для параметра A метода deriveDecoder в объекте semiauto

Есть ли какие-то изменения в Scala 3, которые делают его другим?

Мои зависимости

 scalaVersion := "3.0.0"

val Http4sVersion = "0.23.6"
val CirceVersion = "0.14.1"

libraryDependencies   = Seq(
  "org.http4s"      %% "http4s-blaze-server" % Http4sVersion,
  "org.http4s"      %% "http4s-blaze-client" % Http4sVersion,
  "org.http4s"      %% "http4s-circe"        % Http4sVersion,
  "org.http4s"      %% "http4s-dsl"          % Http4sVersion,

  "io.circe"        %% "circe-core"          % CirceVersion,
  "io.circe"        %% "circe-generic"       % CirceVersion
)
 

Ответ №1:

 final case class Joke(joke: String) extends AnyVal 
 

это и есть куприт. Перепишите его как

 final case class Joke(joke: String) 
 

это должно сработать