1
我想用噴霧創建一個簡單的休息服務。其餘的服務應通過http put接收一個json-body。我想將解析的json-string傳遞給一個函數進行進一步處理。HTTP請求的身體噴霧JSON對象
有沒有任何例子,那裏如何做到這一點?我還沒有找到任何示例如何訪問http放入請求的主體作爲解析的json對象(spray-json)?
謝謝。
我想用噴霧創建一個簡單的休息服務。其餘的服務應通過http put接收一個json-body。我想將解析的json-string傳遞給一個函數進行進一步處理。HTTP請求的身體噴霧JSON對象
有沒有任何例子,那裏如何做到這一點?我還沒有找到任何示例如何訪問http放入請求的主體作爲解析的json對象(spray-json)?
謝謝。
以下是供您參考的示例代碼。
import spray.http._
import spray.routing._
import spray.json.DefaultJsonProtocol
import spray.httpx.unmarshalling._
import spray.httpx.marshalling._
case class Person(fname: String, lname: String, age: Int)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val PersonFormat = jsonFormat3(Person)
}
class TestActor extends HttpServiceActor {
import MyJsonProtocol._
import spray.httpx.SprayJsonSupport._
override def receive: Receive = runRoute(serviceRoute)
private val serviceRoute = path("test_end_point") {
put {
entity(as[Person]) { person =>
println(person)
complete(StatusCodes.OK)
}
}
}
}
我測試了使用以下命令
curl -X PUT -H "Content-Type: application/json" --data '{ "fname": "Vishal", "lname" :"John", "age" : 32 }' localhost:9000/test_end_point
THX約翰。我已經錯過了實體指令,因爲我搜索了正文。 – Marco