我正在使用Laravel路由来构建RESTful API。我正在路由到控制器。在其中,我的函数“store()”(我的post函数)应该是一个JSON输入,我只是通过返回它来测试它。我似乎能够通过执行Input::get('data')
来查看传入的数据,但我无法对其进行json_decode
。 json_decode的值只是null。任何人都可以帮助我获得POST到具有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”}
答案 0 :(得分:2)
这最终成了一个非常愚蠢的问题。我正在做的一切正常,除了我在测试客户端发送的JSON格式不正确。我忘了在关键字符串周围添加引号。
所以,而不是做{itemNumber:“test1”,createdBy:“rsmith”}
我需要做{“itemNumber”:“test1”,“createdBy”:“rsmith”}
现在可行。