【问题标题】:Is implementing client-side validation through an API realistic when it comes to performance?在性能方面,通过 API 实现客户端验证是否现实?
【发布时间】:2017-12-07 21:01:26
【问题描述】:

因此,在理想情况下,客户端验证和服务器端验证都可以定义在一个地方,因此验证只需编写一次,并且可以在任何地方重复使用。

我必须解决这个问题的想法是使用 ASP.NET Core 通过 API 进行所有验证。当客户端上的表单数据发生变化时,它将发送一个带有更新数据模型的 AJAX 请求,API 会对其进行验证,然后返回任何可能的错误。然后客户端直接向用户显示这些错误。 这样一来,它看起来仍然像老式的客户端验证,但实际上都发生在服务器上。

我已经可以想象服务器负载将会增加,因为将发送更多 API 调用,但问题是: 例如,在具有大量表单和复杂验证的大型企业应用程序中,是否可以管理此服务器负载?

这个解决方案还有其他我需要注意的大缺点吗?

【问题讨论】:

    标签: angularjs validation asp.net-web-api


    【解决方案1】:

    您说的是 API,而不是任何其他类型的具有后端的应用程序。

    在这个世界上,是的,有效载荷的验证很重要,需要在 API 端进行。在某种程度上,验证是最简单的部分并且消耗的资源更少,因为这是您检查的第一件事,如果它没有通过,那么 API 会返回 400 BadRequest HTTP 代码,并且不会发生其他任何事情。

    有些系统不会在 API 端进行验证,尤其是业务规则验证。例如,您可以拥有一个金融平台,而 API 只是该世界内部的网关。在这种情况下,API 充当传递的角色,它本身并没有做太多的事情。

    话虽如此,一切都容易受到过多流量的影响,但您应该能够为其投入足够的资源,或者将其部署在云中并根据需求进行扩展。您也可以加载测试 API,要查看它们在压力下的表现如何,您必须了解在特定时间段内可以预期的调用次数。

    我不会太担心它,我会说验证你可以在客户端做什么,所以如果不需要它,你甚至不用点击 API,剩下的留给 API

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多