从DjangoRestFramework中的API端点动态请求数据

编码员

我正在从外部来源进行一些API调用,但想使其动态化,而不是在提供的DRF UI中将引用号手动放入我的视图中。

我想要的是在我的DRF用户界面中,我应该有一个字段,当我输入参考编号时,我应该从API获取响应,我已经成功地手动完成了此操作,但我想使其在DRF用户界面中动态。

我还希望在DRF UI中获得更好格式的JSON响应。下面的图像可以更好地解释我的意思

Views.py

class Paystack(APIView):
    def get(self, request):
        url = "https://api.paystack.co/transaction/verify/{{REFERENCE_NO}}"
        payload = {}
        files = {}
        headers = {
            'Authorization': 'Bearer SECRET_KEY',
            'Content-Type': 'application/json'
        }

        response = requests.request("GET", url, headers=headers, data= payload, files=files)
        return Response(response)

    def post(self, request):
        url = "https://api.paystack.co/transaction/verify/{{REFERENCE_NO}}"
        payload = {}
        files = {}
        headers = {
            'Authorization': 'Bearer SECRET_KEY',
            'Content-Type': 'application/json'
        }

        response = requests.request("GET", url, headers=headers, data= payload, files=files)
        return Response(response)

urls.py

from django.urls import path, include
from .views import *
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register('paystack', Paystack, basename='paystack')

urlpatterns = [
    path('paystack/', Paystack.as_view(), name='paystack'),
]

目前,我的DRF用户界面看起来像这样, 我的DRF用户界面

Amir Afianian |

如果希望在DRF UI中获取reference_id,则必须定义一个序列化器并从中获取值,或者可以定义一个URL模式,该模式要求一个参考ID。

你可以这样做

在urls.py中

urlpatterns = [
path('paystack/<str:reference_id>', Paystack.as_view(), name='paystack'),

]

在您的views.py中

class Paystack(APIView):

    def get(self, request, reference_id):
        url = f"https://api.paystack.co/transaction/verify/{reference_id}"
        payload = {}
        files = {}
        headers = {
            'Authorization': 'Bearer SECRET_KEY',
            'Content-Type': 'application/json'
        }

        response = requests.request("GET", url, headers=headers, data= payload, files=files)
        return Response(response)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据请求数据动态创建SVG

来自分类Dev

是否在钩子中获取请求数据?

来自分类Dev

在PHP中获取PATCH请求数据

来自分类Dev

在PHP中获取PATCH请求数据

来自分类Dev

失败的样本中缺少请求数据

来自分类Dev

节点剩余API:放置请求未更新请求数据

来自分类Dev

通过从Node.js和Express.js中的前端请求数据来创建动态链接

来自分类Dev

symfony 从数据表中获取请求数据

来自分类Dev

Python基础-从API请求数据并写入文件

来自分类Dev

尝试使用Java脚本从FLASK API请求数据(POST)

来自分类Dev

存储API请求数据库与Memcached

来自分类Dev

操作 TastyPie 和 Django API 的请求数据

来自分类Dev

使用 Ruby 的 Spark Api GET/POST 请求数据

来自分类Dev

在Webview Windows 8.1中从URI检索请求数据

来自分类Dev

PHP Curl,请求数据在变量中接受

来自分类Dev

PHP Curl,在application / json中请求数据返回

来自分类Dev

如何在D3中从JSON请求数据?

来自分类Dev

HttpContext对象中不存在AJAX请求数据

来自分类Dev

在Symfony2中放置请求数据

来自分类Dev

Perl如何从祝福对象请求数据中获取值

来自分类Dev

PHP PDO从派生表列的总和中请求数据

来自分类Dev

如何在Cycle.js中顺序请求数据?

来自分类Dev

如何在D3中从JSON请求数据?

来自分类Dev

在发布请求数组中消除指定的发布数据

来自分类Dev

PHP PDO从派生表列的总和中请求数据

来自分类Dev

Perl如何从Bless对象请求数据中获取值

来自分类Dev

将 Alamofire 请求数据保存到变量中

来自分类Dev

如何在静态列表中捕获请求数据

来自分类Dev

如何在 CakePHP 3.4 中取消设置请求数据