Akka-Http 中的实体是什么?

Nag*_*sha 4 entity scala akka akka-http

我是 akka-http 的新手,并在 Scala 中构建了一个基本的服务器-客户端应用程序。我查看的示例具有对象“实体”。有人可以解释一下潜在的概念,为什么使用它以及它有什么用处?

post {
    path("insert") {
      entity(as[Student]) {
        obj => complete {
          insertingstudent(obj)
          s"got obj with name ${obj.getName()}"
        }
      }
Run Code Online (Sandbox Code Playgroud)

谢谢

Yuv*_*kov 5

有人可以解释一下潜在的概念,为什么使用它以及它有什么用处?

entity是 类型HttpEntity从代码的注释

对 HTTP 消息的实体(又名“正文”或“内容”)进行建模。

它是对 HTTP 请求内容的抽象。很多时候,当一个人发送一个 HTTP 请求时,他们会在请求的正文中提供一个有效负载。该主体可以采用多种格式,流行的是 JSON 和 XML。

当你写:

entity(as[Student])
Run Code Online (Sandbox Code Playgroud)

您正在尝试将请求正文解组或反序列化为您喜欢的数据结构。这意味着您obj在处理函数中的字段将是 类型Student