首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >akka新手入门-http

akka新手入门-http
EN

Stack Overflow用户
提问于 2015-06-15 16:37:44
回答 1查看 158关注 0票数 0

我是akka-http的新手。我在我的项目中使用了这个。我不能理解marshallingunmarshalling到底是什么。

如果有人能用一个简单的例子来解释一下如何编组和解组。

EN

回答 1

Stack Overflow用户

发布于 2015-10-23 17:45:17

当你在http中收到一个请求时,它是有线格式的,即字节串,解组是将这个字节串转换为更高级别的格式,而在另一边是编组,你将其转换为低级格式。

在akka-http中将json string(str)转换为case class(person)的示例

代码语言:javascript
复制
case class Person(name: String, age: Int)
val str = """{"name": "some", "aga": 10}"""
impicit val jsonF = jsonFormat2(Person)
val person = JsonParser(str).convertTo[Person]

但更好的方法是使用akka-http中的实体指令:

代码语言:javascript
复制
val route = post {
       entity(as[Person]) { person =>
       complete(s"Person: ${person.name} - favorite number:  ${person.favoriteNumber}")
  }
}

文档here中的示例表明,您需要在您的作用域中使用隐式格式器才能成功解组,并且需要的数字与case类中的字段数量相匹配。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30840714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档