scala play框架写一个能处理post请求(传递json数据)的web服务

通过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请求

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值