1

在 laravel/dingo 中,您可以通过将数据 POST asapplication/x-www-form-urlencoded或 as来创建新对象application/json

$ curl -XPOST --data name=foo http://example.org/user

JSON:

$ curl -XPOST -H 'Content-type: application/json' --data '{"name":"foo"}' http://example.org/user

两者都工作正常。


我现在要做的是创建具有嵌套属性的对象,例如name.first. 这在 POST 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

例外是The name.first field is required


我知道 PHP将点转换为下划线

PHP 将自动用下划线替换传入变量名中的任何点。

这可能是 laravel 没有将变量检测为嵌套的原因。


如何让 laravel 正确检测变量名中的点路径?

4

1 回答 1

0

请用

$ curl -XPOST --data name%5Bfirst%5D=foo http://example.org/user

这等于name['first'] = foo

:)

于 2016-11-30T14:57:18.870 回答