在服务器端的Django REST中使用API,并在Angular的客户端中提供该API

Toto Briac

我有一个使用API​​客户端的Angular应用程序。由于这样做是不好的做法(我不想公开我的API凭据),因此我决定在myapp扩展之前拆分为后端/前端。我成功地将Angular实现到Django REST框架应用中,并且一切正常。但是现在我需要更改我的API逻辑,并让DRF使用外部API

我有:

角<-API-> ext数据

我现在有:

Django / Angular <--- API ---> ext数据

我需要的:

角<-API ---> Django <-API-> ext数据

但是我对如何实现它感到非常困惑。我有在DRF中设置API端点的经验,但仅适用于DRF中模型的数据。我也知道如何在Django中使用API​​。但是,如何链接两个API调用?我是否必须创建一个模型来存储查询,然后存储响应?即使返回的数据始终是json,我也需要编写序列化程序吗?现在,来自外部API的数据将如何供我的前端使用?

我需要有人向我解释此任务的模式。

达克斯

假设您有一个FBV映射到Django中的URL,如下所示:

url: /api/animals/<str:key>

@add_decorators_as_needed
def animals_view(request, key=None):
  data = requests.get(f'{API_URL}/{key}?api_key={API_KEY}') # grab data from ext provider
  json_data = ... # convert to json or do other manipulations

  return json_data # return data to the frontend

然后,在前端的Angular应用中,您可以执行/api/animals/cow对django应用的URL的get请求,并从外部提供程序检索母牛的数据,而无需暴露API_KEY。

因此流程如下所示:

Angular向Django请求数据,Django从外部提供程序获取数据,必要时进行一些数据处理,然后将数据返回给Angular。您不必在数据库中存储任何内容(但是您可以这样做,例如记录日志,这是可选的)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django模板-服务器端django标签的客户端操作

来自分类Dev

Django是否在服务器端渲染网页?

来自分类Dev

django datatables多方现场服务器端处理

来自分类Dev

Django request.POST从客户端到服务器端的字典顺序

来自分类Dev

Facebook身份验证:服务器端与客户端。Python / Django

来自分类Dev

从客户端到服务器端的Django request.POST字典顺序

来自分类Dev

客户端与服务器端模板(哪个?)

来自分类Dev

Mongodb服务器端与客户端处理

来自分类Dev

客户端服务器端模板nodejs

来自分类Dev

在服务器端访问客户端变量

来自分类Dev

服务器端或客户端渲染

来自分类Dev

客户端服务器端模板nodejs

来自分类Dev

在客户端委派服务器端验证

来自分类Dev

客户端数据到服务器端

来自分类Dev

在 javax.mail api 中使用 SearchTern 进行搜索是在服务器端或客户端完成的

来自分类Dev

服务器端集群?

来自分类Dev

Dart的服务器端框架

来自分类Dev

Routeboxer服务器端

来自分类Dev

服务器端图像缓存

来自分类Dev

Ember服务器端分页

来自分类Dev

服务器端图像处理

来自分类Dev

服务器端分页

来自分类Dev

生成LaTeX服务器端

来自分类Dev

服务器端Google授权

来自分类Dev

调试Sapper服务器端

来自分类Dev

服务器端检测iframe

来自分类Dev

Ajax在服务器端的对应

来自分类Dev

XMLA服务器端库?

来自分类Dev

审核服务器端验证