Laravel 使用表单编码的点路径属性创建对象
在laravel/dingo中,您可以通过将数据发布为Laravel 使用表单编码的点路径属性创建对象,laravel,post,dingo-api,Laravel,Post,Dingo Api,在laravel/dingo中,您可以通过将数据发布为application/x-www-form-urlencoded或application/json来创建新对象: $ curl -XPOST --data name=foo http://example.org/user JSON: 两者都很好 我现在要做的是创建具有嵌套属性的对象,例如name.first。这在发布JSON时效果很好: $ curl -XPOST -H 'Content-type: application/json'
application/x-www-form-urlencoded
或application/json
来创建新对象:
$ curl -XPOST --data name=foo http://example.org/user
JSON:
两者都很好
我现在要做的是创建具有嵌套属性的对象,例如
name.first
。这在发布JSON时效果很好:
$ curl -XPOST -H 'Content-type: application/json' --data '{"name":{"first:"foo"}}' http://example.org/user
但在使用表单编码数据时失败:
$ curl -XPOST --data name.first=foo http://example.org/user
例外情况是名称。第一个字段是必需的
我知道PHP: PHP将自动用下划线替换传入变量名中的任何点 这可能是laravel没有检测到嵌套变量的原因
如何使laravel正确检测变量名中的点路径?请使用
$ curl -XPOST --data name%5Bfirst%5D=foo http://example.org/user
这等于name['first']=foo
:)请使用
$ curl -XPOST --data name%5Bfirst%5D=foo http://example.org/user
这等于name['first']=foo
:)