通过scala play框架创建一个web服务器能接收客户端通过post发送过来的json数据
一、创建一个新的play项目
二、当在POST请求中接收到JSON数据时,使用read方法将接收到的JSON字符串转换为Stock对象。Stock
类如下:
import play.api.libs.json.Reads._
import play.api.libs.functional.syntax._
case class Stock(symbol:String,price:Double)
object Stock {
implicit val StockReads: Reads[Stock] = (
(JsPath \ "symbol").read[String] and (JsPath \ "price").read[Double]
)(Stock.apply _)
}
三、在controller中编写saveStock
import play.api._
import play.api.mvc._
def saveStock = Action(parse.json) { request =>
val stockResult = request.body.validate[Stock]
stockResult.fold(
errors => {
println("failed")
Ok
},
stock => {
println(stock.toString)
Ok
}
)
}
四、子conf/routes
文件中加入
POST /saveStock controllers.Application.saveStock
五、用curl命令向该web应用发起请求
curl --header "Content-type:application/json" --request POST --data '{"symbol":"GOOG", "price":900.00}' http://localhost:9000/saveStock
在win10下推荐用火狐浏览器的RESTClient
插件执行post请求