Run*_*ror 7 javascript java error-handling
我正在开发我的第一个结合了Java和Javascript的应用程序.由于它越来越多,现在是时候实现一些适当的错误处理.但说实话,我没有经验.
我的应用程序只允许用户填充存储在数据库中的不同配方器.对于前端,我使用Angular.数据库是MySQL,使用Hibernate和Spring.
前端已经有一些检查,例如验证用户是否键入了一个不超过10年的日期.但我想到的是某种类型检查.例如,如果接收的值实际上是布尔值,如果不是,则抛出错误.
问题是:
这种类型检查应该在哪里执行?在将接收到的值添加到数据库之前不久,已经在Javascript的前端(想到"typeof")或者在后端?是否更好地使用Http状态代码或将错误写入日志文件?
也许您可以推荐一些适合您的最佳实践或选项.
非常感谢!
这里有两件重要的事情需要考虑。
对于用户来说,您肯定希望尽早且经常进行验证,最好是交互式验证。例如,您的银行网站不允许您将字母输入信用卡号;一旦您输入它,它肯定会验证并使该框变为红色。
但后端必须单独保护,因为它可能会从前端以外的其他来源使用。此外,您可能不想相信自己记得更新 UI 验证来处理每个潜在的后端错误。
NPM 和 Maven 中有很多不错的验证库,因此大多数验证的代码在两端都应该非常简单,并且将其保留在两端可能是最安全的。
在担心整个系统之前,您应该始终单独对每个组件进行单元测试,并确保其本身的安全/功能。
您绝对应该在任何 REST 应用程序中使用 HTTP 状态代码向前端报告后端错误,并尝试使用正确的状态代码(例如,未找到、错误参数、未授权、内部错误)。无论您在前端做什么,您都会遇到后端错误需要处理(例如错误的 SQL 语法、数据库连接失败)。
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |