如何理解REST和AngularJS等概念

本文关键字:AngularJS 何理解 REST | 更新日期: 2023-09-27 18:02:18

我发现很难正确理解REST (ASP。. NET Core API)和AngularJS结合在一起。我还发现很难弄清楚控制器和API之间的区别。我看了这个关于ASP的视频。. NET Core Web应用程序:https://app.pluralsight.com/library/courses/aspdotnetcore-efcore-bootstrap-angular-web-app/table-of-contents视频展示了如何创建,例如,一个纯html联系人表单,使用ViewModel和属性在服务器端验证它。然后,另一个模块,展示了如何创建一个AngularJS类型的表单,并验证客户端。我发现很难理解为什么验证应该是客户端(代码更新…)。在我看来,razor的所有"力量"都被Angular取代了。我希望我解释清楚了。

如何理解REST和AngularJS等概念

Web API

数据的提供者。

web API的作用就是简单地向消费者提供数据。假设您正在构建一个博客,并且希望将所有作者和博客文章存储在SQL数据库中。一个主要的安全漏洞是,如果您简单地让浏览器(您的客户端javascript)访问数据库,并开始随意地将博客文章放入其中。相反,将服务器端API放在浏览器javascript和后端SQL之间是一种常见的做法。这就是API的用武之地。您的API只是位于中间,并且知道如何检索博客文章,插入新的博客文章等。

数据显示。

这是浏览器javascript端。现在在我们和数据库之间有了一个API,我们所需要做的就是知道如何与API通信。当我们的页面加载时,我们可以简单地发送一个请求到API,说的是:var posts = RetrieveBlogPosts();,也许RetrieveBlogPosts在引子下只是发送一个HTTP GET请求到我们的API在http://localhost:8000/api/posts。API根据该路由响应传入的请求,并确切地知道要进入哪个服务器端方法。然后,它进入数据库,获取博客文章,并将它们发送回运行在客户端浏览器上的Angular应用。它发回的数据通常是JSON格式。然后,你的Angular应用会接收到响应(JSON),将其转换成代表博客文章的对象,然后在浏览器中显示该数据(HTML模板/css/等)。

mariocatch已经很好地解释了Api和Angular JS。我将阐明你的问题为什么要在前端进行验证?这完全是为了性能而开发的。在大型应用程序中,性能非常重要。因此,与其检查像

这样的验证条件
  • 邮件格式正确

  • 密码必须至少6个字符

  • 密码必须包含至少1个大写字母

  • 密码必须包含至少一个特殊字符

理性地思考一下,为什么要让服务器参与所有这些验证?如今,当网站拥有数百万、数十亿用户时,服务器并不能自由地进行这些验证。这就是将验证转移到客户端的原因。是的,它正在取代c#的剃刀功能,但从长远来看,这显然是为了web应用程序的良好性能。

我认为这消除了您对客户端验证的困惑。