使用gson的HTTP POST会生成内部500服务器错误

时间:2016-08-08 04:15:46

标签: java xmlhttprequest http-post gson

我正在尝试使用Java Spark作为我的框架从HTTP POST请求中收集json String。

它自己的代码工作正常:

Gson gson = new Gson();
String userJson = "{\"name\":\"user\",\"age\":18,\"messages\":[\"Look ma... Gson to Object!\"]}";
User u  = gson.fromJson(userJson, User.class);
UserDAO userD = new UserDAO(User.class);
userD.create(u);

然而,当它被包裹在帖子中时:

post("/user", (req, res) ->
            {
                String userJson2 = gson.toJson(req.body());
                User u2  = gson.fromJson(userJson2, User.class);
                UserDAO userD2 = new UserDAO(User.class);
                return userD2.create(u2);
            }); 

我得到:500内部错误。

违规行是:

User u2  = gson.fromJson(userJson, User.class);

请求如下:

curl -X  POST -H 'Content-Type: application/json' -d '{"name":"user", "age":18, "message": ["Look ma... Gson to OBjectlear!... from the commandline!"]}' http://localhost:4567/user

如果我删除了对象转换代码,它可以正常工作并返回正确解析的json字符串。

非常感谢任何帮助。

0 个答案:

没有答案