问题标签 [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.
symfony - API 平台过滤实体数据
我刚开始使用Api 平台并立即遇到如何过滤数据的问题。我有实体User
,我想过滤响应中存在的数据(JSON API 格式)
所以我想删除例如3,但不使用通过请求发送的过滤器User
。id
我只想设置过滤器,当有人去/api/users
. 我期待api-platform 扩展,但这将应用于每个请求,例如/api/trucks
. 所以最后我只想得到类似的东西
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返回:
有人知道我的错误是什么吗?
kubernetes - 如何使用 Google Cloud SQL 上的托管 DBMS 部署到 Google Cloud 上的 Kubernetes 集群?
根据此处找到的文档,我按照以下步骤操作:
- 通过构建它们并将它们正确发布到我在 Google Container Registry 上的 Docker 注册表来创建和发布 3 个 Docker 映像
- 在 Google Cloud Platform 上创建具有 3 个节点的 Kubernetes 集群
- 使用 PostgreSQL 版本 9.6 在 Google Cloud Platform 上创建 SQL 实例
- 本地安装 Kubernetes
gcloud components install kubectl
- 跑
helm .api/helm/api update
最后,我在本地运行此命令并收到以下错误:
当我运行时,kubectl get nodes
我得到了一个列表,其中包含在我创建集群时由 Google Cloud Platform 创建的 3 个默认节点。
我在执行正确的helm install
命令吗?
我应该使用哪个命名空间?
swagger - Swagger ui 端点重复
我正在使用精彩的项目api 平台。我创建了我的实体,端点就像一个魅力一样工作。
现在,我想配置文档,因为端点显示重复。例如,我在两个实体之间有 1 到 N 的关系,并且在通过 swagger 自动生成的文档中,端点是重复的。
例如,在比赛和事件之间的这种关系中,我对每个实体都有相同的端点[/competitions/{id}/events]。
您知道是否有任何方法可以显示一次端点?这没什么大不了的,但我想保持文档尽可能干净。
已编辑
竞赛:
事件:
symfony - 使用 APIPlateform 的商业模式
我们使用 Symfony 4 + Doctrine + APIPlateform 来提供 HTTP API。
APIPlateform 将 Doctrine 实体公开为 API Rest 资源(通过实体类中的注释),(我发现)这不是一个好的做法,因为业务模型(由 API 公开)应该与 Symfony Doctrine 模型相同。
因此,它看起来更像是一个基本的 CRUD,而不是一个真正的应用程序。
我错了还是可以创建一种 Doctrine 虚拟实体以使用 APIPlatform(甚至 Symfony 表单)之类的工具?
symfony - 实体中的复合主键不允许使用单个 ID
我正在使用 API 平台框架创建 API REST。我有一个具有复合主键的实体。
在表上发送获取请求时出现此错误Umlfiles_Properties
:
实体 AppBundle\Entity\Umlfiles_Properties 中的复合主键上不允许使用单个 id
下面的代码是Umlfiles_Properties
实体代码。
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 中看到它)但它们之间没有关系。
我希望我的帖子不会太长,但我试图更具体!
提前致谢
php - 使用 API 平台创建具有多对多关系的实体
最近我开始了一个基于 API 平台的项目。我设计了我的实体,就像我设计所有其他 Symfony 项目一样。创建/更新没有关系的普通实体非常有效,但我有一个具有两个多对多关系的“特殊”实体,为简单起见,我将这篇文章限制在两个关系之一上。如果我尝试创建一个新实体,包括通过 API 为多对多关系创建一个新元素,则调用它会产生 500 错误。
我有点困惑,也许你能帮助我。
缩短堆栈跟踪:
截断实体池
截断标记实体
对 API 路由的 POST 请求
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”的控制器。路由配置错误。”
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 而不是纯文本,但没有成功。
有什么建议么?