我在spring-boot中为一个android应用程序创建了一个后端代码。
我的问题是,有没有什么规则来区分后端验证和前端验证?
例如,对于用户创建,应该只在前端检查空白字段,但对于单独测试后端服务,在后端有验证是可以的。
如果我们只是在前端进行验证,那么当我们单独测试后端服务时就会出现问题。
发布于 2018-04-02 09:49:45
一般来说,从客户端发送的数据是不可信的。例如,即使客户端验证了一个字段不为空,您也应该假设该字段根本没有经过验证。
你也应该在后端实现类似的验证逻辑。基于JSR-303用Spring实现验证的Here's the starting point。
发布于 2018-04-04 06:17:42
在后端进行验证不仅是“可以的”,而且是必需的。正如@hovanessyan提到的,你永远不能信任来自客户端的数据。绝不可能。
根据经验,API必须是防弹的。所有的边缘情况(空安全、类型安全、最小/最大值、自定义验证)都应该被覆盖和测试。没有什么比API响应500更糟糕的了。
许多开发人员注意到在前端和后端之间存在一些验证逻辑重复,这也是像Node.js这样的技术如此流行的原因之一-理论上你可以共享验证。
此外,不要因为不得不重复验证逻辑而灰心丧气。这很乏味,但却是必要的。
https://stackoverflow.com/questions/49608647
复制相似问题