0

我正在使用 Laravel 路由来构建 RESTful API。我正在路由到控制器。在其中,我的函数“store()”(我的 post 函数)应该得到一个 JSON 输入,我通过简单地返回它来测试它。我似乎能够看到通过 do 传入的数据,Input::get('data')但我不能这样做json_decode。json_decode 的值只是 null。谁能帮我获得一个使用 JSON 数据发布到路由并访问数据的工作示例?

这是我所拥有的:

路线

Route::post('_api/tools/itementry/items', 'ItemEntryController');

控制器

class ItemEntryController extends BaseController
{
    //... other functions
    public function store()
    {
        if(Input::has('data'))
        {
            $x = Input::get('data');
            $data = json_decode($x);

            var_dump($data);
        }
    }
}

我正在使用 REST 测试器客户端提交具有以下查询字符串参数的帖子:

名称:“数据”值:{ itemNumber:“test1”,createdBy:“rsmith”}

4

1 回答 1

2

这最终成为一个非常愚蠢的问题。我做的一切都是正确的,除了我在测试客户端中发送的 JSON 格式不正确。我忘了在关键字符串周围添加引号。

所以,不要做 { itemNumber:"test1", createdBy:"rsmith" }

我需要做 { "itemNumber":"test1", "createdBy":"rsmith" }

现在它起作用了。

于 2013-07-30T13:14:56.500 回答