我正在从外部源进行一些API调用,但希望使其动态化,而不是手动将引用号放在我提供的DRF中的视图中。
我想要的是,在我的DRF UI中,我应该有一个字段,当我输入一个引用号时,我应该从API获得响应,我正在手动地完成这个任务,但是我想让它从DRF UI中动态化。
我还想在我的DRF中获得一个更好的格式化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 UI看起来像这样,

发布于 2020-10-25 16:58:56
如果您希望能够在DRF UI中获取reference_id,您必须定义一个序列化程序并从中捕获值,或者,您可以定义一个请求引用ID的URL模式。
你能做到的
In urls.py
urlpatterns = [
path('paystack/<str:reference_id>', Paystack.as_view(), name='paystack'),]
In 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)https://stackoverflow.com/questions/64525767
复制相似问题