跳到内容

REST APIv4

这是 Django Packages 的 APIv4 文档。它旨在与语言和工具无关。

API 用法

此 API 仅限于只读 GET 请求。其他 HTTP 方法将失败。仅提供 JSON。

API 参考

表示格式

表示格式

  • JSON。
  • UTF-8。

基础 URI

URI 资源 方法
https://djangopackages.cn/api/v4/ GET

URI

URI 资源 方法
/ 索引 GET
/categories/ 类别列表 GET
/categories/{id}/ 类别 GET
/grids/ 网格列表 GET
/grids/{id | slug}/ 网格 GET
/packages/ 包列表 GET
/packages/{id | slug}/ GET
/search/ 包搜索 GET

资源

类别列表

URL: /api/v4/categories/

方法: GET

路径参数:

查询参数

名称 类型 描述
limit 整数 每页返回的结果数量。
offset 整数 返回结果的起始索引。

cURL 示例

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/categories/

响应示例

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 1,
            "title": "Apps",
            "slug": "apps",
            "description": "",
            "title_plural": "",
            "show_pypi": true,
            "created": "2024-04-28T08:48:58.307236",
            "modified": "2024-04-28T08:48:58.307253"
        }
    ]
}

类别

URL: /api/v4/categories/{id}

方法: GET

路径参数

名称 类型 必填 描述
id 整数 唯一标识此类别的一个整数值。

查询参数:

cURL 示例

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/categories/1/

响应示例

{
    "id": 1,
    "title": "App",
    "slug": "apps",
    "description": "Small components used to build projects. An app is anything that is installed by placing it in settings.INSTALLED_APPS.",
    "title_plural": "Apps",
    "show_pypi": true,
    "created": "2010-08-14T22:47:52",
    "modified": "2022-03-04T21:48:41.249944"
}

网格列表

URL: /api/v4/grids/

方法: GET

路径参数:

查询参数

名称 类型 描述
limit 整数 每页返回的结果数量。
offset 整数 返回结果的起始索引。

cURL 示例

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/grids/

响应示例

{
    "count": 371,
    "next": "https://djangopackages.cn/api/v4/grids/?limit=20&offset=20",
    "previous": null,
    "results": [
        {
            "id": 438,
            "title": "Health checkers",
            "slug": "healt-checkers",
            "description": "Packages that enables Django's health check (eg: is alive, can talk to database, etc...)",
            "is_locked": false,
            "packages": [
                "https://djangopackages.cn/api/v4/packages/5810/",
                "https://djangopackages.cn/api/v4/packages/976/",
                "https://djangopackages.cn/api/v4/packages/3142/",
                "https://djangopackages.cn/api/v4/packages/5811/",
                "https://djangopackages.cn/api/v4/packages/5754/",
                "https://djangopackages.cn/api/v4/packages/2225/"
            ],
            "header": false,
            "created": "2023-12-27T12:40:58.914633",
            "modified": "2023-12-27T12:40:58.914646"
        }
    ]
}

网格

URL: /api/v4/grids/{id | slug}

方法: GET

路径参数

名称 类型 必填 描述
id 整数 唯一标识此网格的一个整数值。
slug 字符串 唯一标识此网格的一个字符串值。

查询参数:

cURL 示例

使用 id

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/grids/438/

使用 slug

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/grids/healt-checkers/

响应示例

{
    "id": 438,
    "title": "Health checkers",
    "slug": "healt-checkers",
    "description": "Packages that enables Django's health check (eg: is alive, can talk to database, etc...)",
    "is_locked": false,
    "packages": [
        "https://djangopackages.cn/api/v4/packages/5810/",
        "https://djangopackages.cn/api/v4/packages/976/",
        "https://djangopackages.cn/api/v4/packages/3142/",
        "https://djangopackages.cn/api/v4/packages/5811/",
        "https://djangopackages.cn/api/v4/packages/5754/",
        "https://djangopackages.cn/api/v4/packages/2225/"
    ],
    "header": false,
    "created": "2023-12-27T12:40:58.914633",
    "modified": "2023-12-27T12:40:58.914646"
}

包列表

URL: /api/v4/packages/

方法: GET

路径参数:

查询参数

名称 类型 描述
limit 整数 每页返回的结果数量。
offset 整数 返回结果的起始索引。

cURL 示例

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/packages/

响应示例

{
    "count": 5327,
    "next": "https://djangopackages.cn/api/v4/packages/?limit=20&offset=20",
    "previous": null,
    "results": [
        {
            "category": "https://djangopackages.cn/api/v4/categories/1/",
            "grids": [
                "https://djangopackages.cn/api/v4/grids/21/",
                "https://djangopackages.cn/api/v4/grids/11/",
                "https://djangopackages.cn/api/v4/grids/113/"
            ],
            "id": 34,
            "title": "django-debug-toolbar",
            "slug": "django-debug-toolbar",
            "last_updated": "2024-06-01T07:50:28",
            "last_fetched": "2024-06-03T17:19:48.550707",
            "repo_url": "https://github.com/jazzband/django-debug-toolbar",
            "pypi_version": "4.3.0",
            "created": "2010-08-17T05:47:00.834356",
            "modified": "2024-06-03T17:19:49.078307",
            "repo_forks": 1027,
            "repo_description": "A configurable set of panels that display various debug information about the current request/response.",
            "pypi_url": "http://pypi.python.org/pypi/django-debug-toolbar",
            "documentation_url": "https://readthedocs.org/projects/django-debug-toolbar",
            "repo_watchers": 7937,
            "commits_over_52": [
                2,
                1,
                1,
                3
            ],
            "participants": [
                "user-xxx",
                "user-yyy"
            ]
        }
    ]
}

URL: /api/v4/packages/{id | slug}

方法: GET

路径参数

名称 类型 必填 描述
id 整数 唯一标识此包的一个整数值。
slug 字符串 唯一标识此包的一个字符串值。

查询参数:

cURL 示例

使用 id

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/packages/34/

使用 slug

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/packages/django-debug-toolbar/

响应示例

{
    "category": "https://djangopackages.cn/api/v4/categories/1/",
    "grids": [
        "https://djangopackages.cn/api/v4/grids/21/",
        "https://djangopackages.cn/api/v4/grids/11/",
        "https://djangopackages.cn/api/v4/grids/113/"
    ],
    "id": 34,
    "title": "django-debug-toolbar",
    "slug": "django-debug-toolbar",
    "last_updated": "2024-06-01T07:50:28",
    "last_fetched": "2024-06-03T17:19:48.550707",
    "repo_url": "https://github.com/jazzband/django-debug-toolbar",
    "pypi_version": "4.3.0",
    "created": "2010-08-17T05:47:00.834356",
    "modified": "2024-06-03T17:19:49.078307",
    "repo_forks": 1027,
    "repo_description": "A configurable set of panels that display various debug information about the current request/response.",
    "pypi_url": "http://pypi.python.org/pypi/django-debug-toolbar",
    "documentation_url": "https://readthedocs.org/projects/django-debug-toolbar",
    "repo_watchers": 7937,
    "commits_over_52": [
        2,
        1,
        1,
        3
    ],
    "participants": [
        "user-xxx",
        "user-yyy"
    ]
}

URL: /api/v4/search/

方法: GET

路径参数:

查询参数

名称 类型 描述
q 字符串 包含一个或多个关键字的搜索词

cURL 示例

curl -X GET -H "Content-Type: application/json" https://djangopackages.cn/api/v4/search/?q=REST

响应示例

[
    {
        "description": "python-social-auth and oauth2 support for django-rest-framework",
        "title": "django-rest-framework-social-oauth2",
        "created": "2024-05-30T19:13:37.117036",
        "modified": "2024-06-03T19:13:36.967715",
        "weight": 112,
        "item_type": "package",
        "title_no_prefix": "rest-framework-social-oauth2",
        "slug": "django-rest-framework-social-oauth2",
        "slug_no_prefix": "rest-framework-social-oauth2",
        "clean_title": "restframeworksocialoauth2",
        "category": "App",
        "absolute_url": "/packages/p/django-rest-framework-social-oauth2/",
        "repo_watchers": 1047,
        "repo_forks": 189,
        "pypi_downloads": 0,
        "usage": 2,
        "participants": "user-xxx,user-yyy",
        "last_committed": "2024-01-12T10:03:34",
        "last_released": "2024-01-12T15:28:41"
    }
]