Extracción de JSON sin procesar como cadena dentro de una ruta de pulverización POST
scala rest (1)
Puede usar la directiva de extracto como
def rawJson = extract { _.request.entity.asString}
.
.
.
case "value2" => rawJson{ json =>// use the json
}
Tengo una ruta POST Spray y la solicitud contiene un cuerpo JSON (tipo de contenido "application / json"). Quiero una forma de extraer el JSON sin procesar de esta solicitud dentro de mi ruta.
Para http: // host: puerto / somepath / value1 , quiero extraer el cuerpo de la publicación como TextMsgResponse
. Pero para http: // host: puerto / somepath / value2 quiero extraer el cuerpo de la publicación solo como Json sin procesar (por ej., { "name":"Jack", "age":30 }
val myRoute = path("somepath" / Segment) { pathSegment =>
post { //use only POST requests
pathSegment match {
case "value1" =>
entity(as[TextMsgResponse]) { textMsg =>
complete {
//do something with the request
StatusCodes.OK
}
}
case "value2" => {
//here is I want to extract the RAW JSON from the request
}
}
}