服务 post 方法的负面情况
Negative scenario for service post method
我在服务中有 post 方法。
如果学生年龄 > 18,那么我想保存对象。
如果年龄 < 18 .. 我不想保存对象。
如何将此信息传递给 Controller (ResponseEntity) 以抛出 401?
@Service
public class StudentService {
public Student save(Student Student) {
//some logic
if (studentAge > 20) {
student.setId(null);
return studentRepository.save(student);
} else {
//what are the good practices here?
}
}
}
首先,在这种情况下你不应该return 401。 401 表示身份验证问题。 400好像比较合适
第二,服务不应该处理错误代码——这应该由控制器来处理。服务应该表明存在问题,使用它的层应该决定要做什么。
它可以通过 returning null student 或抛出一些专用异常。
一种更简洁的方法是在 save 方法之外进行 - 有一个带有 boolean isValid()
方法的验证器,该方法将在保存
之前调用
我在服务中有 post 方法。 如果学生年龄 > 18,那么我想保存对象。 如果年龄 < 18 .. 我不想保存对象。
如何将此信息传递给 Controller (ResponseEntity) 以抛出 401?
@Service
public class StudentService {
public Student save(Student Student) {
//some logic
if (studentAge > 20) {
student.setId(null);
return studentRepository.save(student);
} else {
//what are the good practices here?
}
}
}
首先,在这种情况下你不应该return 401。 401 表示身份验证问题。 400好像比较合适
第二,服务不应该处理错误代码——这应该由控制器来处理。服务应该表明存在问题,使用它的层应该决定要做什么。
它可以通过 returning null student 或抛出一些专用异常。
一种更简洁的方法是在 save 方法之外进行 - 有一个带有 boolean isValid()
方法的验证器,该方法将在保存