通过Play应用程序将json文件上传到Cassandra数据库时出错

记忆力

我想通过使用Play应用程序/ api将json文件上传到我的cassandra数据库。

我的html视图如下所示。

@main("Welcome to Play") {

<h1> Upload a JSON file </h1>
@helper.form(action = routes.Application.upload, 'enctype -> "text/json") {

<input type="file" name="jsonFile">
<p>
 <input type="submit" value="Upload">
</p>

}}

我在控制器中定义了我的上载方法:

def upload = Action(parse.json) { request =>
   val data = Json.arr(request.body)
   sc.parallelize(Seq(data)).saveToCassandra("person", "user", SomeColumns("name", "age"))
   Redirect("/index")  }

我收到的错误消息是

Bad Request: For request 'POST /upload' [Expecting text/json or application/json body] 

也尝试使用enctype“ application / json”,没有区别。如果我尝试将内容打印出来,则会显示Null。

我的file.json的格式为:

{ "name": "alice", "age": 22} 
{ "name": "bob", "age": 23}

基本上,我似乎无法从文件中正确提取内容。

房东

有关请求正文解析器,请参阅文档的本部分:

https://www.playframework.com/documentation/2.5.x/ScalaBodyParsers#Choosing-an-explicit-body-parser

基本上,parse.json要求您提出一个请求Content-Typeapplication/json从文档中:

json主体解析器将验证请求是否具有application / json的Content-Type,如果请求不符合该期望,则发送415不支持的媒体类型响应。因此,我们无需再次检查操作代码。

还有另一个没有此要求的正文解析器。再次,从文档:

当然,这意味着客户端必须表现得很好,并随其请求一起发送正确的Content-Type标头。如果您想放松一点,可以改用tolerantJson,它会忽略Content-Type并尝试将主体解析为json,无论如何:

def save = Action(parse.tolerantJson) { request =>
   Ok("Got: " + (request.body \ "name").as[String])
}

因此,您在这里有两个选择:

  1. 使用parse.json并设置Content-Typeapplication/json
  2. parse.tolerantJson

除此之外,如果内容如下,您的JSON文件无效:

{ "name": "alice", "age": 22} 
{ "name": "bob", "age": 23}

您可以使用JSONLint进行检查,我也建议您阅读json.org上的定义您可能想要一个像这样的数组:

[
  { "name": "alice", "age": 22},
  { "name": "bob", "age": 23}
]

纠正格式后,您可以使用parse.jsonparse.tolerantJson

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过.NET Core应用程序将空间数据(.shp)上传到PostGIS数据库

来自分类Dev

如何使用C#Windows Form应用程序将Excel文件上传到SQL数据库表

来自分类Dev

无法将图像上传到数据库和应用程序(fileuploader js文件)?fileuploader js

来自分类Dev

将.docx上传到数据库时出错

来自分类Dev

将数据从Shiny应用程序上传到MySQL数据库

来自分类Dev

将数据从Shiny应用程序上传到MySQL数据库

来自分类Dev

无法将较大(大小)的图像从android应用程序上传到数据库

来自分类Dev

无法通过Chrome将JSON文件上传到Firebase数据库

来自分类Dev

将iOS应用程序上传到itunesconnect时出错“无法打开ssh会话(16)”

来自分类Dev

将iOS应用程序上传到iTunes Connect时出错

来自分类Dev

将数据从Python文件上传到Django数据库

来自分类Dev

将数据从Python文件上传到Django数据库

来自分类Dev

通过CSV将HTML上传到Rails应用程序

来自分类Dev

如何将工作表中的文件(通过VBA宏)上传到laravel应用程序?

来自分类Dev

如何从Android程序将SQLite数据库文件上传到FTP服务器

来自分类Dev

通过节点js应用程序在openshift中连接到mysql数据库时出错

来自分类Dev

使用JSP将文件上传到数据库

来自分类Dev

将sql ddl文件上传到Postgresql数据库

来自分类Dev

MVC 4 将 Excel 文件上传到数据库

来自分类Dev

如何将文件上传到 django 数据库

来自分类Dev

将数据从 LocalStorage 上传到 Web 应用程序

来自分类Dev

当将数据上传到Parse.com时,UIAlertView似乎冻结了应用程序

来自分类Dev

从Android应用程序将文件上传到Firebase存储

来自分类Dev

将文件从python应用程序上传到appengine

来自分类Dev

将JSON文件上传到Amazon SQS时出错

来自分类Dev

使用python将.json文件上传到Firebase数据库

来自分类Dev

将多站点WordPress应用程序复制到新主机,连接数据库时出错

来自分类Dev

尝试将Play应用程序连接到mysql数据库时出现SQL语法错误

来自分类Dev

将一个应用程序连接到另一个应用程序的数据库时出错

Related 相关文章

  1. 1

    通过.NET Core应用程序将空间数据(.shp)上传到PostGIS数据库

  2. 2

    如何使用C#Windows Form应用程序将Excel文件上传到SQL数据库表

  3. 3

    无法将图像上传到数据库和应用程序(fileuploader js文件)?fileuploader js

  4. 4

    将.docx上传到数据库时出错

  5. 5

    将数据从Shiny应用程序上传到MySQL数据库

  6. 6

    将数据从Shiny应用程序上传到MySQL数据库

  7. 7

    无法将较大(大小)的图像从android应用程序上传到数据库

  8. 8

    无法通过Chrome将JSON文件上传到Firebase数据库

  9. 9

    将iOS应用程序上传到itunesconnect时出错“无法打开ssh会话(16)”

  10. 10

    将iOS应用程序上传到iTunes Connect时出错

  11. 11

    将数据从Python文件上传到Django数据库

  12. 12

    将数据从Python文件上传到Django数据库

  13. 13

    通过CSV将HTML上传到Rails应用程序

  14. 14

    如何将工作表中的文件(通过VBA宏)上传到laravel应用程序?

  15. 15

    如何从Android程序将SQLite数据库文件上传到FTP服务器

  16. 16

    通过节点js应用程序在openshift中连接到mysql数据库时出错

  17. 17

    使用JSP将文件上传到数据库

  18. 18

    将sql ddl文件上传到Postgresql数据库

  19. 19

    MVC 4 将 Excel 文件上传到数据库

  20. 20

    如何将文件上传到 django 数据库

  21. 21

    将数据从 LocalStorage 上传到 Web 应用程序

  22. 22

    当将数据上传到Parse.com时,UIAlertView似乎冻结了应用程序

  23. 23

    从Android应用程序将文件上传到Firebase存储

  24. 24

    将文件从python应用程序上传到appengine

  25. 25

    将JSON文件上传到Amazon SQS时出错

  26. 26

    使用python将.json文件上传到Firebase数据库

  27. 27

    将多站点WordPress应用程序复制到新主机,连接数据库时出错

  28. 28

    尝试将Play应用程序连接到mysql数据库时出现SQL语法错误

  29. 29

    将一个应用程序连接到另一个应用程序的数据库时出错

热门标签

归档