dongranding3909 2018-03-23 14:51
浏览 68
已采纳

API REST php7 symfony 3.4 - Databind json到表单

I found this: "How to process nested json with FOSRestBundle and Symfony forms" but the acepted reply was: "making an unmapped form and binding data manually using a form event"

In play, you can write your own data binder but for most formats(xml, json, ...), you can take the data automatically based on the Content-Type http header (the @BodyParser.Of(BodyParser.Json.class) is not mandatory here to get it working), there are some well know data binders available(from Spring or wherever). A product can have a list of items, and even so, you can bind the request body to a form automatically.

PHP/Symfony no learn yet how to solve this issue? If I create an API REST in php + symfonmy I need to write some kind of "parser" like this? Can some one share a link to a post or an example with a solution to this?

PD: I use the play example because I am not an experienced web developer(less in PHP), so take this like my mcve.

Thanks in advance.

  • 写回答

2条回答 默认 最新

  • duanbi6522 2018-03-23 20:43
    关注

    To solve this issue be sure all field on the form that have a relation are defined explicit:

    $builder->add('field_simple')
            ->add('field_entity')
    ...
    

    The code above will not work because the field 'field_entity' will be take like another simple field, you will have to define all the fields of entities or at lest the fields of interest, example:

    $builder->add('field_simple')
            ->add('field_entity', EntityType::class, array(
                'class' => CustomEntity::class,
                ...
            ))
    ...
    

    Best Regards...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错