Skip to main content

用于互连外部 API 的 Django Rest Framework 库

项目描述

姜戈幽灵

派皮 编解码器 代码风格:黑色 PyPI - 下载

将多个外部 HTTP API 互连为 Http 服务的库

安装

pip install spook

用法

为您的输入验证声明一个序列化程序类

from rest_framework import serializers

class MySerializer(serializers.ModelSerializer):
    name = serializers.CharField()
    age = serializers.IntegerField()
    
    class Meta:
        fields = ('name', 'age', )

声明一个 InputValidator

from spook.validators import InputValidator


class MyResourceInputValidator(InputValidator):
    serializer_class = MySerializer

声明一个 API 资源类。

from spook.resources import APIResource


class MyResource(APIResource):
    api_url = 'https://my.external/api'
    validator = MyResourceInputValidator

现在您可以实例化 MyResource 类并使用方法

resource = MyResource()

# List resources
resource.list()

# Retrieve a single resource
resource.retrieve(pk=1)

# Create resource
resource.create({'name': 'Pablo', 'age': 28})

# Update resource
resource.update(pk=1, data={'name': 'Pablo Moreno'})

# Delete resource
resource.delete(pk=1)

也有一些视图可用

from spook.views import (
    APIResourceRetrieveView, APIResourceListView, APIResourceCreateView, APIResourcePutView,
    APIResourceRetrieveUpdateView, APIResourceRetrieveUpdateDestroyView, APIResourceListCreateView,
)


class ListCreateProductResourceView(APIResourceListCreateView):
    resource = ProductResource

    def get_token(self, request):
        return ''  # Wee need to override get_token()


class RetrieveUpdateDestroyProductResourceView(APIResourceRetrieveUpdateDestroyView):
    resource = ProductResource

    def get_token(self, request):
        return ''

发展

我们建议使用虚拟环境

安装诗歌

pip install poetry

安装依赖项

poetry install

运行测试

poetry run pytest --cov=spook

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

spook-3.2.7.ta​​r.gz (7.4 kB 查看哈希)

已上传 source

内置分布

spook-3.2.7-py3-none-any.whl (7.9 kB 查看哈希)

已上传 py3