我有一个基于react的单页应用程序。
如果从后端发送了错误的数据,则可能会导致前端应用程序崩溃。当然,这不应该发生,但这是有可能的。
在将从后端接收的数据添加到react应用程序的数据层之前,是否应该对其进行验证?
合同
首先,后端和前端之间必须有合同。它可以是强制性的,并且可以像gRPC一样提前创建。或者在REST的情况下,它可以通过OpenAPI等工具从后端代码自动生成。
在这里,双方同意如果客户端调用给定的端点,预期的响应应该是什么。它不应该只涵盖幸福的道路。任何有效的结果都应包含在合同中。
已知与未知
合同本身可以NOT涵盖所有可能的结果。有些情况是无法预见的。这些未知因素应该在客户端尽可能优雅地处理,以便在次优的情况下也能获得良好的用户体验。UI/UX设计也应该适用于这些情况。