Skip to content

Instantly share code, notes, and snippets.

@adamw
Created January 9, 2020 09:37
Show Gist options
  • Save adamw/d82202e85e4f9534a4e9b52fc42f335d to your computer and use it in GitHub Desktop.
Save adamw/d82202e85e4f9534a4e9b52fc42f335d to your computer and use it in GitHub Desktop.
object CirceAnnotationCodecs {
import io.circe.{Decoder, Encoder}
import io.circe.generic.JsonCodec
import sttp.tapir._
import sttp.tapir.json.circe._
@JsonCodec
case class Foo(x: String)
implicitly[Validator[Foo]]
implicitly[Schema[Foo]]
implicitly[Decoder[Foo]]
implicitly[Encoder[Foo]]
implicitly[Decode[Foo, String]]
implicitly[Codec[Foo, CodecFormat.Json, String]]
def jsonCodecFoo: EndpointIO.Body[Foo, CodecFormat.Json, _] = {
jsonBody[Foo]
.description("producer schema")
.example(Foo(""))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment