为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确使用 Spring Data 的 save 方法?

如何正确使用 Spring Data 的 save 方法?

侃侃无极 2023-06-21 14:56:24
我想知道我应该如何处理 save 方法。让我们考虑一下我想注册新用户的情况。首先,我需要检查是否有具有该 ID 或登录名的用户。如果我找不到任何人,我可以创建一个新的人并使用 Spring Data 中的 save 方法。当我发现有人有这样的登录名时怎么办?我应该抛出异常吗?我不喜欢它们,对我来说,有时就像逃避问题。返回 null 而不是对象也不是一个好的选择,不是吗?这是我的问题,我想以最温和的方式解决。返回什么以及如何处理这种情况。也许例外是必要的?然后就在我的控制器里处理一下就可以了。我希望你能给我建议。我宁愿向有经验的人寻求提示和几句话,而不是从互联网上的大多数页面获得普通的解决方案。感谢:D
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

异常字面意思是“由于正常工作流之外的情况,我无法正常完成此操作”,是何时抛出AccountAlreadyExists异常的完美示例。您不是在“逃跑”,而是在通知应用程序的更高层它必须处理该问题。作为一个思想实验:如果你有不止一个原因导致某件事失败怎么办?您如何区分(重复帐户)和(禁止域名)?nullnull

请注意,在这种情况下,您肯定应该有类似 a 的东西,UserAccountService它的职责是执行诸如“无重复帐户”之类的规则,这将是实际调用userRepository.save(newUser).

如果您使用 Spring MVC 视图,那么您需要捕获控制器中的异常并将用户发送到错误页面。如果您使用 JSON API,那么您可能希望让异常转义以将错误返回给客户端;考虑用 或 类似的注释你的异常类@ResponseStatus(UNPROCESSABLE_ENTITY)


查看完整回答
反对 回复 2023-06-21
  • 1 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信