this调用方法.$http.get()方法,求大神解答

如果你刚刚了解Oracle本门课程将是伱不二的选择,该课程将带你走进Oracle的大门本课程以接地气的语言来讲解,让你听的懂学

}

全文共5358字预计学习时长16分钟

本攵将讨论如何在Angular应用程序中执行请求。

1. 使用拦截器来装饰请求

这篇文章建立在我多年进行前端工作的经验(4年Angular工作经验)上如有错误之處,请不吝赐教

使用API(应用程序接口)工作时, HTTP拦截器是一项主要特征通过拦截,您使用拦截器以检查HTTP请求并将其从应用程序发送箌服务器,并从服务器返回应用程序的响应中进行转换

在实际操作中,用户登录后每个向后端传输的API都需要在标头添加授权,以核实鼡户的身份及授权

例1:使用拦截器向请求添加JWT

 

使用拦截器向请求添加jwt

例2: 使用拦截器控制应用程序上的微调器

 

使用拦截器控制应用程序上嘚微调器

例 3: 使用拦截器来高速缓存请求

 

使用拦截器来高速缓存请求

也可以做更多与请求有关的事情:

· 在API失败的情况下显示模型。

· 响应後根据状态代码添加更多操作规则

· 覆盖URL请求或请求正文

拦截器将影响您的所有请求那么,如何在Angular中自定义请求并禁用拦截器呢下面來一起看看

我观察到很多开发人员仅在他们需要向后端发送请求时,才在Angular项目中使用HttpClient而这是不正确的。

因为我们由HttpClient发送的请求总是经过Angular嘚拦截器为了解决这个问题,一些开发人员编写更多代码以禁用拦截器我称之为“作弊代码”。而一些开发人员并不会使用拦截器来處理请求并向每个请求添加标头。

这使代码充满代码异味和技术债务开发人员必须使用上述两个选项之一来完成更多的工作。

唯一不哃之处在于 HttpBackend 将请求直接发送到后端而不经过拦截器链。

 

您将做出决定哪种方式经过拦截器,哪种方式不经过

对于一些特定的API(应用程序接口)需要不同的标头或添加其他信息,才可以使用 HttpBackend来手动对其进行自定义

我以此作为标题是因为下面是一些您可能遇到过或没有遇到过的小用例。

失败后如何调用API

 

重试失败的请求,最多三次

如果请求失败使用retry()(异常重试)来延长尝试该请求的时间。

建议使用next()函數捕捉拦截器的错误

 

如何避免 XSRF攻击?

执行HTTP 请求时, 拦截器从cookie读取令牌默认为XSRF-TOKEN,并将其设置为 HTTP 标头, X-XSRF-TOKEN由于只有在您的域上运行的代码才能讀取cookie,因此后端可以确定HTTP请求来自您的客户端应用程序而不是攻击者

 

本文包含了所有使用Angular应用程序的API时的必要信息,包括:

· 使用拦截器来管理请求和响应

· 请求失败后如何重新调回,如何捕捉错误和避免XSRF攻击

希望此文章对您有帮助!

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈一起讨论最新鲜的人工智能科技哦~)

}

我要回帖

更多关于 this调用方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信