Json 使用circe的AWS API网关自定义解码器

Json 使用circe的AWS API网关自定义解码器,json,scala,aws-lambda,circe,Json,Scala,Aws Lambda,Circe,我想使用circe-core为AWS API网关创建一个自定义解码器。我有以下代码: case class APIGatewayInput(body:Result[Body], queryParams: Map[String,String], pathParams: Map[String,String]) object ApiGatewayInput { implicit val decodeApiGatewayInput = Decoder.instance { c =>

我想使用
circe-core
为AWS API网关创建一个自定义解码器。我有以下代码:

case class APIGatewayInput(body:Result[Body], queryParams: Map[String,String], pathParams: Map[String,String])

object ApiGatewayInput {
  implicit val decodeApiGatewayInput = Decoder.instance { c =>
    val body:Result[Body] = c.get[Body]("body")
    val queryParams = c.field("queryStringParameters").as[Map[String,String]](decoder???)
    APIGatewayInput(body, queryParams, similarForPathParams)
  }
}
我知道
Result
有方法将数据解析为
Map[K,V]
,因为
需要
解码器(这有点混乱),我可以将其转换为
Map[String,String]

如何使用API将现有的scala集合类型转换为
HCursor
,而不是自定义类型

 import io.circe._, io.circe.generic.auto._, io.circe.parser._, 
 io.circe.syntax._
 case class Test(a: Map[String,String])
 val map = Test(Map("a"->"1","2"->"2")).asJson
 val hcursor = map.hcursor

 val m = hcursor.downField("a").as[Map[String,String]]
 println(m) // Right(Map(a -> 1, 2 -> 2))