Skip to main content

以资源为中心的 REST API 客户端

项目描述

PyPI 最新 CI 状态

以资源为中心的 REST API 客户端

关于如何使用的想法

并非以下示例中所述的所有功能都已实现。本节仅作为未来功能的动力。

import resources


class PersonResource(resources.Resource):
    class Meta:
        base_endpoint = 'http://api.com/v1/persons/'


class PageResource(resources.Resource):
    class Meta:
        endpoints = {
            'delete': 'http://api.com/v1/pages/{}/'
            'filter': 'http://api.com/v1/pages/'
            'get': 'http://api.com/v1/pages/{}/'
            'patch': 'http://api.com/v1/pages/{}/'
            'post': 'http://api.com/v1/pages/'
            'put': 'http://api.com/v1/pages/'
        }

    owner = resources.RelatedField(
        PersonResource,
        source_field='owner_url',  # default is owner_id
        auto_follow=True,  # default is False
    )

    comments = resources.MultipleRelatedField(
        CommentResource,
        source_field='comments_url',
    )


# GET / single
person = Person.objects.get(pk=1)
print(person.name)

# GET / list
person_reqset = Person.objects.filter(age=18)
for person in person_reqset:  # lazy request
    print(person.name)

# POST
person = Person.objects.create(name='John Doe', age=18)

# PATCH
person.age = 20
person.save()

# PUT
person = Person.objects.update_or_create(name='John Doe', age=30)

项目详情


下载文件

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

源分布

resources-0.0.1.tar.gz (3.7 kB 查看哈希

已上传 source