构造函数内部函数的问题是使用 Post 方法后没有返回预期值

问题描述 投票:0回答:1

Spring Boot中计算学生成年年龄的问题

我有一个具有以下属性的学生课程:

@Entity
@Table(name = "students")
@Getter
@Setter
@NoArgsConstructor
public class Student {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id ;
    private String name;
    private LocalDate dateOfBirth;
    private boolean ageMajority;

    public Student(String name, LocalDate dateOfBirth) {
        this.name = name;
        this.dateOfBirth = dateOfBirth;
        this.ageMajority = this.isOfLegalAge(dateOfBirth);
    }

    private boolean isOfLegalAge(LocalDate dateOfBirth) {
        Period period = Period.between( dateOfBirth,LocalDate.now());
        return period.getYears() >= 18 ;
    }

}

我正在使用 PostgreSQL 数据库。 我尝试使用人工智能向我展示的其他几种替代方案,但它们不起作用。

问题是,当在 Spring Boot 中使用 POST 方法传递出生日期(1900-11-25)参数并存储在数据库中时,isOfLegalAge() 函数总是返回 false,除非我使用 PUT 方法改变。

我希望在使用 POST 方法时将ageMajority 属性保存为true。我该如何解决这个问题?

java spring postgresql spring-boot post
1个回答
0
投票

首先,它与'post'或'put'请求无关,request只是一种类型,我需要查看period.getYears()中的相关代码来寻求帮助,或者查看你的post请求和输入请求码,一定有问题

© www.soinside.com 2019 - 2024. All rights reserved.