我在程序中有一个负责下载消息的方法
MessageReceived getMessageReceived(Long messageId,Long userId);
此时,需要一个长值。整个方法看起来像这样
@Override
public List<MessageReceived> getMessagesReceived(
@NotNull @Min(1) Long userId
) throws ResourceNotFoundException {
log.info("Called with userId {}", userId);
Optional<UserEntity> user = this.userRepository.findByIdAndEnabledTrue(userId);
user.orElseThrow(() -> new ResourceNotFoundException("No user found with id " + userId));
return this.messageRepository.findByRecipientAndIsVisibleForRecipientTrueOrderByIdDesc(user.get())
.stream()
.map(MessageEntity::getReceivedDTO)
.collect(Collectors.toList());
}
更好的做法是:发送用户ID本身或dto USER对象。在控制器中我可以指定dto对象方法,但是我选择了ID,因为在我看来没有必要在这里发送带有附加字段的整个DTO。你觉得怎么样?
答案 0 :(得分:1)
只要你保持一致,我认为这不重要。如果您要在此处传递ID,那么您应该养成一直习惯于传递ID而不是DTO。
我个人的偏好是始终传递ID。