我在http://localhost:8600/rest/student/details
有一个休息网络服务,它会将学生的详细信息更新为数据库。我必须在方法帖子中以JSON格式发送详细信息。
以下是生成该json消息的方法
private void createOrUpdateStudent(WebResource service) {
Gson gson = new Gson();
StudentImpl student= new StudentImpl ();
student.setId(6);
student.setName("Godwin");
student.setSex("Male");
StudentView view = new StudentView(student);
System.out.println("::::::"+service.path("/rest/student").path("/details").type("application/json").post(ClientResponse.class, gson.toJson(view)));
}
其中studentView
类如下所示。
@XmlRootElement(name="clusterZipcode")
public class StudentView {
public Integer id;
public String name;
public String sex;
public StudentView() {}
public StudentView(StudentImpl student) {
this.id = student.getId();
this.name = student.getName();
this.sex = student.getSex();
}
在发送时如上所述我收到错误说明Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'Name' cannot be null
我是否正确传递了json值,或者如果有其他方法发送json消息,请建议我。
答案 0 :(得分:0)
我在你的帖子上看不到你在哪里打电话给数据库。我只能看到你正在创建一个学生,然后从那里创建一个视图(假设正在调用此方法)。您获得的错误与以下事实有关:在某些时候,您正在调用数据库以在(可能)您的学生模型中输入新行。如果你已经休眠了,你可以确保你在为学生打电话和你打电话给setName之间的任何一点上都没有调用.save或.update吗?