在描述服务的界面中,我有类似以下的方法:
TaskCard saveTaskCard(@NonNull TaskCard card, User user);
我在参数前放了@NonNull
(lombok)注释,但如果相同的注释未出现在实现中,则无法单独使用。 这意味着在实现该接口的类的方法中,我需要再次放置此注释,从而重复代码。
@Override
@Transactional
public TaskCard saveTaskCard(@NonNull TaskCard taskCard, User user) {
taskCard.setUser(user);
return repository.save(taskCard);
}
问题在于,这是否是正确的做法?如果你只把这个注解放在接口中,它们将不起作用,而如果你只把它放在实现接口的类中,那么API用户可能不会理解这些方法不能传递null
。我该怎么办?
@NonNull
,我认为它应该在Controller中使用。 - Eklavya