首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Circe、Tapir和JodaTime

Circe、Tapir和JodaTime
EN

Stack Overflow用户
提问于 2020-06-03 20:45:27
回答 1查看 293关注 0票数 2

我有一个案例类,比如

代码语言:javascript
复制
final case class MyClass(id: Long, eventData: EventsDTO)

final case class EventsDTO(
    customerId: Long,
    eventName: String,
    processTime: DateTime //JodaTime
)

我有自定义的编码器和解码器作为

代码语言:javascript
复制
val dateFormatter = DateTimeFormat.forPattern("yyyyMMdd")
    implicit def TimestampFormat: Encoder[DateTime] with Decoder[DateTime] =
      new Encoder[DateTime] with Decoder[DateTime] {
        override def apply(a: DateTime): Json = Encoder.encodeString.apply(a.toString)

        override def apply(c: HCursor): Result[DateTime] =
          Decoder.decodeString.map(s => DateTime.parse(s, dateFormatter)).apply(c)
      }

我的tapir终结点是

代码语言:javascript
复制
 val inclusive: Route[Unit, MyClass] =
      endpoint.post
        .in(Paths.api)
        .out(jsonBody[WidgetsResponse])

但是如果运行上面的代码,我会得到

代码语言:javascript
复制
Error:(71, 15) Cannot find a codec for type: com.Model.MyClass, formatted as: sttp.tapir.CodecFormat.Json.
Did you define a codec for: com.Model.MyClass?
Did you import the codecs for: sttp.tapir.CodecFormat.Json?
Is there an implicit schema for: com.Model.MyClass, and all of its components?
(codecs are looked up as implicit values of type Codec[com.Model.MyClass, sttp.tapir.CodecFormat.Json, _];
schemas are looked up as implicit values of type Schema[com.Model.MyClass])
      jsonBody[MyClass]


Error:(71, 15) not enough arguments for method jsonBody: (implicit codec: sttp.tapir.CodecForOptional[com.Model.MyClass, sttp.tapir.CodecFormat.Json, _])sttp.tapir.EndpointIO.Body[com.Model.MyClass, sttp.tapir.CodecFormat.Json, _].
Unspecified value parameter codec.
      jsonBody[MyClass]

有人能帮帮我吗?我哪里做错了?

如果我从EventsDTO中删除processTime: DateTime //JodaTime,应用程序就可以正常运行。

EN

回答 1

Stack Overflow用户

发布于 2020-06-05 05:50:35

这就是缺失的部分

代码语言:javascript
复制
  implicit val schemaForDateTime: Schema[DateTime] = Schema(SString)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62173168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档