Laravel:在json

时间:2015-06-29 17:30:14

标签: json laravel post postman

我正在尝试进行测试。我使用REST客户端“Postman”将带有对象的POST请求发送到Laravel。我们的想法是将请求作为对象取回。但我认为我没有得到正确的结果。

在Postman中,我指定要发送的地址,选择“POST”,然后发送:

{
   "url": "http://testingtesting.com"
}

在Laravel,我有一条通往地址的路线:

Route::post('api/test', 'TestController@index');

并且控制器应该返回json对象。如果我这样做:

    class TestController extends BaseController{
       public function index(){
           $input = Input::json()->all();
           var_dump($input);
           }
    }

我在POSTman中找回了一个数组:

array (size=1)
  'url' => string 'http://testingtesting.com' (length=18)

那是我看“预览”的时候。如果我切换到“漂亮”,它会显示如下:

<pre class='xdebug-var-dump' dir='ltr'>
    <b>array</b>
    <i>(size=1)</i>
  'url' 
    <font color='#888a85'>=&gt;</font>
    <small>string</small>
    <font color='#cc0000'>'http://testing.com'</font>
    <i>(length=18)</i>
</pre>

但是我应该得到一个对象(stdClass),而不是一个数组。我需要做什么?

1 个答案:

答案 0 :(得分:0)

我在这里得到了一些信息(laracasts forum)get-raw-post-data。 它似乎适用于:

class TestController extends BaseController{
       public function index(){
           $data = json_decode(file_get_contents("php://input"));
           var_dump($data);

在Postman中,结果是:

object(stdClass)[144]
  public 'url' => string 'http://testingtesting.com' (length=18)

但不确定这是推荐的方式,还是为什么/如何工作。我想我必须阅读更多相关信息。但如果有人想要添加更多信息或解决方案,请随意!