symfony - 如何使用 Symfony Api Pltaform 发送 json 和文件
问题描述
我正在使用 Symfony 4 和 Api 平台,并且我有实体书和文档。添加书籍和添加文件工作正常,但分开。现在我想将它们添加在一起并将 Book To Document 链接起来。
实体书:
* @ORM\Entity
*/
class Book
{
//***
/**
* @var Document|null
*
* @ORM\ManyToOne(targetEntity="App\Entity\Document", cascade={"all"})
* @ORM\JoinColumn(nullable=true)
* @ApiProperty(iri="http://schema.org/image")
* @Groups({"book:read", "document_read", "document_create", "book:write"})
*/
public $document;
//***
}
当我使用邮递员添加带有表单数据的文档时,它可以工作并且文件已保存,但是当我添加带有表单数据的书时,我收到此错误:
不支持内容类型“multipart/form-data;boundary=-------------------------431943027292248567654772”。支持的 MIME 类型为 "application/ld+json"、"application/json"、"text/html"。",
邮递员身体
解决方案
如上所述,您必须在 api_platform.yml 文件(Config->packages->api_platform.yml)中添加“mime_types”部分。
像这样:
api_platform:
mapping:
paths: ['%kernel.project_dir%/src/Entity']
patch_formats:
mime_types: ['multipart/form-data']
json: ['application/merge-patch+json']
推荐阅读
- html - 在手风琴(ngb-accordion)中单击面板(ngb-panel)时如何防止重新加载ng-template
- python - 如何使用数据框值在 python 中创建 3d 数组?
- android - 如何在清单中添加查询声明以使用相机
- angular - 使用提供者创建另一个提供者
- vega-lite - 在层图中的顶层定义参数会产生重复信号错误
- python - 如何根据熊猫中的时间仅更改某些特定行的日期?
- powershell - 如何在一行的 Windows 批处理文件输出中获取 PowerShell 命令和命令 ECHO 的输出?
- python - 如何禁用菜单“运行代码”和“在终端中运行代码”?
- python - Python - 我正在尝试向自己发送电子邮件
- python - 如何将输入图像保存到变量中并在另一个函数中调用它?