【发布时间】:2019-10-18 03:56:13
【问题描述】:
我有一个具有 List 类型属性的类。当我使用 post man List 执行 @GET 请求时,类型属性返回 null 而其他属性返回数据。
我正在使用 MongoRepository 实现 Springboot rest api。它有一个名为 course 的类,它有一个 List 类型,包括名为 subjectID 的字符串。我实现了一个简单的@GetMapping 请求,以查看是否所有数据都获取正常。但是在获取所有其他属性时.. subjectID 为空
@Document(collection = "courses")
public class Course {
private String name;
private String code;
private int passmark;
private List<String> subjectlist;
public Course() {}
public Course(String name, String code, int passmark, List<String>
subjectlist) {
this.name = name;
this.code = code;
this.passmark = passmark;
this.subjectlist = subjectlist;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public int getPassmark() {
return passmark;
}
public void setPassmark(int passmark) {
this.passmark = passmark;
}
public List<String> getSubjectlist() {
return subjectlist;
}
public void setSubjectlist(List<String> subjectlist) {
this.subjectlist = subjectlist;
}
}
@RestController
@RequestMapping("/course")
public class CourseController {
private CourseRepository courseRepository;
private ArrayList<Course> c;
private Course cs;
public CourseController(CourseRepository courseRepository) {
this.courseRepository = courseRepository;
}
@GetMapping("/")
public List<Course> getAll(){
List<Course> course = courseRepository.findAll();
return course;
}
}
这是代码应该返回的内容
"subjects": ["sa01","ds01"]
但它会返回
"subjectlist": null
【问题讨论】:
-
显然,您期望 Spring 神奇地认为代码中名为
subjectlist的属性与 MongoDB 文档中名为subjects的属性相同。那不会发生。如果该属性名为subjects,那么在您的 Java 代码中也将其命名为subjects。 -
好吧。确实有效。就这么简单。我一直在寻找其他地方。感谢您的帮助
标签: java mongodb rest spring-boot