问题标签 [api-platform.com]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1423 浏览

symfony - API 平台过滤实体数据

我刚开始使用Api 平台并立即遇到如何过滤数据的问题。我有实体User,我想过滤响应中存在的数据(JSON API 格式)

所以我想删除例如3,但不使用通过请求发送的过滤器Userid我只想设置过滤器,当有人去/api/users. 我期待api-platform 扩展,但这将应用于每个请求,例如/api/trucks. 所以最后我只想得到类似的东西

0 投票
9 回答
12133 浏览

jwt - Symfony4:找不到路径“/api/login_check”的控制器。路由配置错误

我很想通过 JWT 设置 symfony4 api JSON 登录。安装了 api 平台核心包,我按照以下说明操作:https ://api-platform.com/docs/core/jwt/

我按照描述创建了自定义用户提供程序。通过打开 URL /api/login_check 错误消息“找不到路径“/api/login_check”的控制器。路由配置错误。” 发生。

通过发送 POST 请求,我得到了 html 中的错误页面。

这是我的routes.yaml

这是我的security.yaml

bin/console debug:route返回:

有人知道我的错误是什么吗?

0 投票
0 回答
224 浏览

kubernetes - 如何使用 Google Cloud SQL 上的托管 DBMS 部署到 Google Cloud 上的 Kubernetes 集群?

根据此处找到的文档,我按照以下步骤操作:

  1. 通过构建它们并将它们正确发布到我在 Google Container Registry 上的 Docker 注册表来创建和发布 3 个 Docker 映像
  2. 在 Google Cloud Platform 上创建具有 3 个节点的 Kubernetes 集群
  3. 使用 PostgreSQL 版本 9.6 在 Google Cloud Platform 上创建 SQL 实例
  4. 本地安装 Kubernetesgcloud components install kubectl
  5. helm .api/helm/api update

最后,我在本地运行此命令并收到以下错误:

当我运行时,kubectl get nodes我得到了一个列表,其中包含在我创建集群时由 Google Cloud Platform 创建的 3 个默认节点。

我在执行正确的helm install命令吗?

我应该使用哪个命名空间?

0 投票
1 回答
796 浏览

swagger - Swagger ui 端点重复

我正在使用精彩的项目api 平台。我创建了我的实体,端点就像一个魅力一样工作。

现在,我想配置文档,因为端点显示重复。例如,我在两个实体之间有 1 到 N 的关系,并且在通过 swagger 自动生成的文档中,端点是重复的。

例如,在比赛和事件之间的这种关系中,我对每个实体都有相同的端点[/competitions/{id}/events]

重复的端点。

您知道是否有任何方法可以显示一次端点?这没什么大不了的,但我想保持文档尽可能干净。

已编辑

竞赛:

事件:

0 投票
1 回答
149 浏览

symfony - 使用 APIPlateform 的商业模式

我们使用 Symfony 4 + Doctrine + APIPlateform 来提供 HTTP API。

APIPlateform 将 Doctrine 实体公开为 API Rest 资源(通过实体类中的注释),(我发现)这不是一个好的做法,因为业务模型(由 API 公开)应该与 Symfony Doctrine 模型相同。

因此,它看起来更像是一个基本的 CRUD,而不是一个真正的应用程序。

我错了还是可以创建一种 Doctrine 虚拟实体以使用 APIPlatform(甚至 Symfony 表单)之类的工具?

0 投票
0 回答
2719 浏览

symfony - 实体中的复合主键不允许使用单个 ID

我正在使用 API 平台框架创建 API REST。我有一个具有复合主键的实体。

在表上发送获取请求时出现此错误Umlfiles_Properties

实体 AppBundle\Entity\Umlfiles_Properties 中的复合主键上不允许使用单个 id

下面的代码是Umlfiles_Properties实体代码。

0 投票
2 回答
2795 浏览

doctrine-extensions - API平台——实体翻译,Doctrine Translatable

我正在尝试在我的 API 平台项目中的一个实体上添加KnpLabs Doctrine Behaviors - 准确地说是可翻译行为。

这是我到目前为止所做的:

这是实体翻译:

这是根据文档使可翻译行为工作的基本“配置”。

当我尝试更新数据库架构时,问题就开始了:我收到了这个错误:

没有为实体“App\Entity\ArticleTranslation”指定标识符/主键。每个实体都必须有一个标识符/主键。(从“/Sites/bookshop-api/config/routes/api_platform.yaml”导入)。确保有一个
支持“api_platform”类型的加载器。

然而,在 Translatable Traits 中,已经有一个 ID 和文档精确地表明 Translation Entity 应该只包含我们想要翻译的字段......

无论如何,我已经为这个 ArtcleTranslation 实体添加了一个 ID 以消除错误:

从这里开始,当我更新数据库模式时没有错误。完美的 !现在我可以看一下 Swagger 文档:

在此处输入图像描述

一切看起来都很好!但是当我查看数据库时:

在文章表中:

  • 没有“本地”字段
  • 没有“空”字段

在 ArticleTranslation 表中:

  • 没有“translatable_id”字段
  • 没有“当前本地”
  • 没有“默认本地”

我想它必须是链接的,但在大张旗鼓的 POST 选项卡中,模型也不同。

在此处输入图像描述 文章翻译模型

我只在这两个实体上尝试了 /GET 和 /POST 方法,它们正在工作(我可以在 DB 中看到它)但它们之间没有关系。

我希望我的帖子不会太长,但我试图更具体!

提前致谢

0 投票
4 回答
8271 浏览

php - 使用 API 平台创建具有多对多关系的实体

最近我开始了一个基于 API 平台的项目。我设计了我的实体,就像我设计所有其他 Symfony 项目一样。创建/更新没有关系的普通实体非常有效,但我有一个具有两个多对多关系的“特殊”实体,为简单起见,我将这篇文章限制在两个关系之一上。如果我尝试创建一个新实体,包括通过 API 为多对多关系创建一个新元素,则调用它会产生 500 错误。

我有点困惑,也许你能帮助我。

缩短堆栈跟踪:

截断实体池

截断标记实体

对 API 路由的 POST 请求

0 投票
2 回答
4047 浏览

jwt - API-Platform JWT:找不到“GET /api/login”的路由

我成功安装了 API 平台,它适用于我的所有实体。现在我正在尝试使用 LexikJWTAuthenticationBundle 添加 JWT 身份验证,但是当我发送登录请求时,我得到:

找不到“GET /api/login”的路由

我的请求 :

http://localhost:8000/api/login?username=john&password=doe

我正在使用 Symfony 4,这是我的security.yaml

我认为 JWT 捆绑包运行良好,因为当我尝试访问资源时,我得到:

我认为这只是路由问题,但由于我是 Symfony 的新手,我不知道该怎么做......

我已经尝试改变模式,检查路径......

有什么提示吗?

编辑:我在 routes.yaml 中添加了这个:

我现在有 :

找不到路径“/api/login”的控制器。路由配置错误。

日志中的更多详细信息:

警告 09:40:52 请求无法查找控制器,因为缺少“_controller”参数。

错误 09:40:53 请求未捕获的 PHP 异常 Symfony\Component\HttpKernel\Exception\NotFoundHttpException:“找不到路径“/api/login”的控制器。路由配置错误。”

0 投票
1 回答
1718 浏览

login - 使用实体提供者和 JWT 登录

我正在尝试按照文档中编写的说明在 Api 平台项目中实现 JWT 身份验证。如果我使用内存提供程序,它可以工作,但是当我尝试使用实体提供程序配置它时,我总是得到响应 401 bad credentials。

如果我更改提供程序并使用“in_memory”而不是“my_own_provider”,它会起作用。我有一些用户的固定装置,我检查了数据库,它正确地包含了用户的行。

这是我的 security.yml

这是我的实体类:

我发现有些人问了同样的问题,但对我没有用。

1 示例这与我的问题非常相似,但我认为服务器配置不是我的问题,因为使用 in_memory 它可以工作。我也尝试了最后一个解决方案 json_login 而不是 form_login 并且我有一个错误。

2 Example Here is Unauthorized 但我的问题是我无法获得令牌。

我也尝试使用 bcrypt 而不是纯文本,但没有成功。

有什么建议么?