Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过SpringRESTAPI将另一个对象中的对象发布到mongoDB_Java_Spring_Spring Boot_Rest_Spring Data Mongodb - Fatal编程技术网

Java 通过SpringRESTAPI将另一个对象中的对象发布到mongoDB

Java 通过SpringRESTAPI将另一个对象中的对象发布到mongoDB,java,spring,spring-boot,rest,spring-data-mongodb,Java,Spring,Spring Boot,Rest,Spring Data Mongodb,我正在为库中的成员创建一个基本crud应用程序。我创建了一个SpringAPI来获取这些值并将其插入数据库。所以当我用邮递员检查时,会显示一个错误。(500:内部服务器错误)下图显示了我试图发送的请求。 如上所示,我正在成员对象中发送另一个对象,一旦我删除了最新版本,就不会出现任何错误,即会发布值 我想解决这个问题,请帮我解决 API @PostMapping("/m") public Member save(@RequestBody Member member){

我正在为库中的成员创建一个基本crud应用程序。我创建了一个SpringAPI来获取这些值并将其插入数据库。所以当我用邮递员检查时,会显示一个错误。(500:内部服务器错误)
下图显示了我试图发送的请求。

如上所示,我正在成员对象中发送另一个对象,一旦我删除了最新版本,就不会出现任何错误,即会发布值

我想解决这个问题,请帮我解决

API

@PostMapping("/m")
public Member save(@RequestBody Member member){
    repository.save(member);
    return member;
}
Member.java

@Document(collection = "Members")
public class Member {

@Id
private String id;
private String name;
private Book latestBook;
private String gender;
private int contact;

public Member() {
}

public Member(String id, String name, Book latestBook, String gender, int contact) {
    this.id= id;
    this.name = name;
    this.startMembershipDate = startMembershipDate;
    this.gender = gender;
    this.contactNum = contactNum;
}

 //getters , setters and toString method

}
public class Book{

private String name;
private String author;
private int year;

public Book(String name, String author, int year) {
    this.name= name;
    this.author= author;
    this.year = year;
}
    //getters , setters and toString method
}
Book.java

@Document(collection = "Members")
public class Member {

@Id
private String id;
private String name;
private Book latestBook;
private String gender;
private int contact;

public Member() {
}

public Member(String id, String name, Book latestBook, String gender, int contact) {
    this.id= id;
    this.name = name;
    this.startMembershipDate = startMembershipDate;
    this.gender = gender;
    this.contactNum = contactNum;
}

 //getters , setters and toString method

}
public class Book{

private String name;
private String author;
private int year;

public Book(String name, String author, int year) {
    this.name= name;
    this.author= author;
    this.year = year;
}
    //getters , setters and toString method
}
我想问题出在图书课上,所以请帮我解决这个问题。
不仅对于发布,对于删除也不起作用。

解决了这个问题

@Document(collection = "Members")
public class Member {

@Id
private String id;
private String name;
private Book latestBook = new Book();
private String gender;
private int contact;

public Member() {
}

public Member(String id, String name, Book latestBook, String gender, int contact) {
    this.id= id;
    this.name = name;
    this.startMembershipDate = startMembershipDate;
    this.gender = gender;
    this.contactNum = contactNum;
}

 //getters , setters and toString method

}
////////////////////////

public class Book{

private String name;
private String author;
private int year;

Book(){}

public Book(String name, String author, int year) {
    this.name= name;
    this.author= author;
    this.year = year;
}
    //getters , setters and toString method
}

您能发布错误跟踪以查看问题所在吗?好的,您需要使用DBRef注释来链接一对一映射。请跟随