【发布时间】:2018-10-02 07:55:51
【问题描述】:
我正在开发基于 spring boot 的 rest web 服务,我正在使用 lombok 生成 getter 和 setter,但是当我调用我的 web 服务时,我的对象的字段默认值为 null,这是我的代码:
我的实体:
@Data
@Entity
@JsonAutoDetect(fieldVisibility = Visibility.ANY)
public class Projet implements Serializable {
/**
* Serial UID
*/
private static final long serialVersionUID = -7268509549664338191L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long codeProjet ;
private String description;
private String responsable ;
private Double budget ;
private Date dateDebut;
private Date dateFin ;
@OneToMany(mappedBy="codeQuestonnaire")
@JsonIgnore
private List<Questionnaire> questionnaires ;
}
这是我的休息服务:
@RestController
public class ProjectResource {
@Autowired
private ProjetRepository projetRepository ;
@GetMapping("/projet/{id}")
public ResponseEntity<Projet> getProjet(@PathVariable("id") long id){
Projet projet = projetRepository.getOne(id);
if(projet!=null) {
return new ResponseEntity<Projet>(projet,HttpStatus.OK);
}else {
return new ResponseEntity<Projet>(HttpStatus.NOT_FOUND);
}
}
}
在我的配置文件中我添加了这一行:
spring.jackson.serialization.fail-on-empty-beans=false
当我调用我的服务时,我得到了这个响应:
{"codeProjet":null,"description":null,"responsable":null,"budget":null,"dateDebut":null,"dateFin":null,"handler":{},"hibernateLazyInitializer":{}}
如果我将 getter 和 setter 添加到我的类中,它可以正常工作,并且我会得到带有值的 json 响应 在此先感谢您的帮助
【问题讨论】:
标签: java rest spring-boot spring-data lombok