我在spring-boot中为Android应用程序创建了一个后端代码。
我的问题是,是否有任何规则可以区分后端或前端的验证?
例如 - 对于用户创建空白字段应仅在前端检查,但仅测试后端服务是否可以在后端进行验证。
如果我们只是在前端进行验证,那么当我们单独测试后端服务时会出现问题。
答案 0 :(得分:1)
作为一般规则,从客户端发送的数据不可信任。例如。即使客户端验证字段不为空,您也应该假设该字段根本未经过验证。
您也应该在后端实现类似的验证逻辑。 Here's the starting point用于根据JSR-303实现对Spring的验证。
答案 1 :(得分:1)
不仅仅是" ok"要在后端进行验证,但这是必需的。正如@hovanessyan所提到的,您永远不会信任来自客户端的数据。决不。
根据经验,API需要防弹。应涵盖并测试所有边缘情况(零安全,类型安全,最小/最大,自定义验证)。没有什么比使用500响应的API更糟糕了。
许多开发人员注意到前端和后端之间存在一些验证逻辑重复,这也是Node.js等技术变得如此受欢迎的原因之一 - 理论上你可以分享验证。
此外,不要因为必须复制验证逻辑而气馁。这很乏味但很必要。