trivago/jade

一个简单但功能强大的库,用于通过 JSON API 公开实体。

v1.1 2018-07-30 13:55 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:49:48 UTC


README

这是什么?

Jade 是一个库,旨在通过 doctrine 实体创建一个简单的方式来创建 JSON API 服务器。它支持所有 CRUD 功能,如过滤、排序和包括关系。您只需定义实体,然后使用配置公开不同的路由。

它的设计使您能够轻松地定制所需的任何部分。

另一个库?

在开始开发这个库之前,我们研究过其他可用的库,甚至考虑过为它们做出贡献。但问题是,根据我们的需求定制这些库很复杂,有时甚至需要太多的努力才能设置它们。在 Jade 的情况下,您可以在 5 分钟内运行一个完全功能的 API。

入门

您可以在 docs/example.md 中找到一个快速入门示例。

首先安装库

composer require trivago/jade

然后向内核添加捆绑包

<?php

public function registerBundles()
{
        $bundles = [
            ...
            new Trivago\Jade\Application\Framework\JadeBundle\TrivagoJadeBundle(),
            ...
        ];
}

然后添加路由

json_api_routes:
    prefix: /api
    resource: .
    type: json_api

然后您必须设置配置。

配置

在此阅读

示例配置

在此阅读

实体

在此阅读

加载路由

在此阅读

过滤

在此阅读

排序

在此阅读

包括

在此阅读

监听器

在此阅读

示例调用

在此阅读

安全担忧

在此阅读

测试

在此阅读

缺失的功能

  • 允许选择要包含的字段。
  • 验证请求中的额外键是否有效。
  • 创建关系 URL。
  • 对于字符串路径的工作效果良好。对于数组路径,找到一个新过滤器类型名称。
  • [改进] 使用 ResourceMapper 避免在未渲染的列上进行过滤或排序 [安全]