问题标签 [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.
api-platform.com - 自定义过滤器 API 平台不工作
我正在尝试在 API 平台中实现自定义或过滤器。但由于某种原因,它没有加载。在我的配置下面找到。
这是我的过滤器:
在 api_filters.yml 中:
在我的注释文件中:
最后在我的实体中:
这与此处报告的问题完全相同: https ://github.com/api-platform/core/issues/398
我没有收到任何错误,但过滤器根本不起作用。我在 Swagger 中看到了它。但是当我在 Swagger 中输入一个值时,数据库会返回所有实体。它永远不会到达 filterProperty 方法。
有人有想法吗?
symfony - 使用 Api 安装 Symfony 4(Api 平台)
有两个文档,我都一样:
运行这个
编辑环境
添加实体 (Entity/Hello.php)
更新数据库
使用 Smyfony 服务器
但随后在我的浏览器(http://127.0.0.1:8000/)中出现了这个标准异常:
Youtube Video and Api-Plattform Docs 告诉我,当我使用 api 时,应该有一个不错的 Api-Plattform 页面。
有谁知道我在这里做错了什么?我已经尝试了几次并检查了我能找到的所有文档......
谢谢西蒙
symfony - 如何让 Symfony API GET 调用返回嵌入的 json 对象而不是 IRI
我一直在使用 Api Platform 开发 Symfony API,并自动生成了所有运行良好的端点。除了一件事,当获取带有子实体的实体时,子实体不是以 json 格式给出的,而是以 IRI 格式给出的,因此这意味着我们得到“/api/locations/1”而不是 JSON 对象。我已经尝试了几个小时,但无法弄清楚如何改变这一点。我们正在为路线和数据库关系使用注释。
php - 使用自定义规范器修改类属性
我有一个具有 2 个属性的实体,name
并且photo
. 该name
属性是从数据库中读取的,但我必须photo
用一些其他信息填充该属性。
我已经按照文档中的编写自定义规范化器教程进行操作,并制作了自定义规范化器:
但是该photo
属性没有填写所需的信息。
经过一点调试,我发现该supportsNormalization
方法执行了两次(对于每个数据库元素)。如果我打印$data
变量,我name
第一次得到实体属性,第二次得到photo
具有null
值的属性。我从来没有得到整个Style
实体。然后该supportsNormalitzation
方法总是返回false
。
如何获取完整Style
实体并修改其属性?
谢谢!
api-platform.com - API 平台:无法加载私钥
我正在尝试使用记录的设置来设置 API 平台:
https://api-platform.com/docs/core/jwt/
我通过以下方式加载了固定装置:
我的 security.yml 看起来像这样:
现在我想尝试获取令牌:
但我得到一个非 json 响应。我在某处找到消息:
这是我的 .env 文件:
1)为什么这条消息实际上不在json中?
2)为什么会发生这个错误?
3)我也无法访问文档,因为我在浏览器中找到了消息 {"code":401,"message":"JWT Token not found"}
谁能帮帮我?
更新: 对于 2) 似乎 .env 中的 JWT_PASSPHRASE 与我输入的密码不正确匹配。所以这部分已经解决了。
symfony - 带有 Api-Platform 的 GraphQL 在 GraphiQL 中返回 null
我在 Symfony 4 框架中设置了没有 docker 的 api-platform 并添加了 GraphQL 支持,如此处所述 - https://api-platform.com/docs/core/graphql
使用 GraphiQL 时,我似乎只得到空响应,我尝试了很多不同的 GraphQL 语法,都返回空。
我试过了:
-
-
都没有运气
我可以正常请求api并得到响应。
此外,GraphiQL 中的请求似乎都已发布,但这可能无关紧要。
我一直在尝试解决此问题一段时间,但未能在网上找到任何帮助。
谢谢
symfony4 - Symfony 4:为 JWT 和 Behat 测试数据库
我使用 API Platform 2.1 和 Symfony 4,我使用 LexikJWTAuthenticationBundle 进行身份验证,使用 Behat 进行测试。
我无法正确设置。到目前为止,这是我的配置:
这是我的功能上下文:
现在执行时vendor/bin/behat
,它只是读取.env
文件(开发环境)并尝试将管理员添加到我的开发数据库中。
1)如何确保创建了测试数据库并且不使用开发数据库进行测试?我尝试.env.test
使用不同的配置创建一个,但没有奏效。
2)即使没有@login
场景上方的注释,它也会login
从FeatureContext
. 那是应该的吗?
3)我在任何地方都找不到有关如何设置的适当文档。API 平台文档似乎也不是很有帮助。参考:https ://api-platform.com/docs/core/jwt/#jwt-authentication
他们谈论createDB
and dropDB
,但它甚至不存在于任何地方。所以我从另一个网站上拿了它。这是正确的方法吗?
symfony - 安全的 UI,但公开允许 AJAX 请求
我正在使用 API 平台开发一个项目。
我希望通过基本身份验证保护 UI 的文档,而一些路由应该是公开的。
例如:
当我在浏览器中查看文档时,我可以简单地访问 /api/dishes,因为 IS_AUTHENTICATED_ANONYMOUSLY。我也看到了其他可用的 get/post 方法(尽管一些 post 方法是安全的)。
但是,这些文档根本不应该公开。在 Symfony 4 中,我如何确保为 docs 和 ajax 请求分离我的安全配置?
php - API 平台 - 无法从没有自有属性的模式生成实体
我正在运行 API 平台模式类型生成器,但在使用 schema.org 中定义但没有自己的属性 ( http://schema.org/Duration ) 的类型时遇到了困难。
当我运行 vendor/bin/schema generate-types 时,我得到
我的类型配置是:
如果我定义 Duration 从父级继承的属性之一(例如 Thing->Name),它会生成 OK,但我不确定如何在其上设置持续时间属性(可能是文本)。也许我混淆了如何使用/定义没有自己属性的类型 - 有没有办法告诉模式“这只是一个单一的文本值”?
rest - 基本设计 - 与 Symfony 4 项目的休息交流
我想知道 Symfony 4 中的 api 框架有多大。例如,有三个 API:
- Price Api(数据来自不同的系统)
- Product Api(数据来自不同的系统)
- 用户接口
并且几个 symfony 客户端项目(网络目录、购物篮、特殊产品配置器 ..)将使用它进行内部工作。
我已经看到 Apis 有一个新项目。API 平台。我在这里担心的是,我们没有简单的 Api 请求,在单个表上获取、拉取、发布。会更像
请求背后有很多内部逻辑。是否存在要求复杂的现有项目?Api 平台对我来说很新,只有一个非常简单的演示......
在客户端发出休息请求......有不同的方法
- 卷曲自己
- GuzzleHttp
- 统一
- ...
Symfony 4 内部没有标准方法吗?(过去我们遇到过问题,当前的外部库不支持旧的 symfony 版本……)。
谢谢您最好的问候