【问题标题】:Spray multiple post parameters喷涂多个后期参数
【发布时间】:2014-07-24 14:10:22
【问题描述】:

如何处理帖子正文中的多个参数。我要处理一个:

post {
            respondWithMediaType(`application/json`) {
              entity(as[String]) { text =>
                complete(extract(text).toJson.compactPrint)
              }
            }
          }

现在我需要得到一个秒双参数。

有什么帮助吗?

谢谢

【问题讨论】:

    标签: scala rest akka spray


    【解决方案1】:

    使用所需的两个字段定义案例类

    case class MyClass(first: String, second: Double)
    

    为 MyClass 创建 Json 格式

    object MyJsonProtocol extends DefaultJsonProtocol {
      implicit val formatMyClass = jsonFormat2(MyClass)
    }
    

    Spray 会将 json 反序列化为 MyClass

    post {
       respondWithMediaType(`application/json`) {
                  entity(as[MyClass]) { myClass =>
                    complete(extract(text).toJson.compactPrint)
                  }
       }
    }
    

    【讨论】:

    • 谢谢,如果我想让第二个可选?
    • 制作第二个参数Option: case class MyClass(first: String, second: Option[Double])
    • 谢谢先生。请注意,不要忘记:在路由中导入 spray.httpx.SprayJsonSupport._ 和 MyJsonProtocol。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多