我正在处理使用Java处理请求的Web应用程序。
我正在使用Jackson将我的JSON反序列化为一个Object,但有时我会遇到异常com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: java.io.StringReader@53e87867; line: 1, column: 1]
这就是我发送数据的方式:
$scope.update=function(d) {
server.put("/mddi/rest/users/user/update", d)
.success(function(data) {
$scope.info = "Success."
})
.error(function(msg) {
$scope.msg = msg;
});
}
我的更新功能是:
@Path("/user/update")
@PUT
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public void updateUser(String userData, @Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
System.out.println("User : " + userData);
User user = mapper.readValue(userData, User.class);
userDAO.update(user);
} catch (IOException e) {
e.printStackTrace();
}
}
我已经在我的浏览器中检查过,数据总是被发送但是在我的Java中,它发生在userData为空。 我真的不知道我的问题。
感谢您的帮助!