1

私はlaravelに傾いています。に取り組んでいRest APIます。controller次のようにcurlを使用して投稿するようにしました

public function post_index()
{

        $cat = Input::json();
        $dbCat = new Category();
        $dbCat->code = $cat->code;
        $dbCat->name = $cat->name;
        $dbCat->save();
        return $dbCat->toJson();


}

curl を使用して投稿しようとすると、次のエラーが発生します

Message:

Trying to get property of non-object
Location:

C:\xampp\htdocs\NewBlog\application\controllers\api\category.php on line 22

そしてスタックトレースは

#0 C:\xampp\htdocs\NewBlog\laravel\laravel.php(42): Laravel\Error::native(8, 'Trying to get p...', 'C:\xampp\htdocs...', 22)
#1 C:\xampp\htdocs\NewBlog\application\controllers\api\category.php(22): Laravel\{closure}(8, 'Trying to get p...', 'C:\xampp\htdocs...', 22, Array)
#2 [internal function]: Api_Category_Controller->post_index()
#3 C:\xampp\htdocs\NewBlog\laravel\routing\controller.php(325): call_user_func_array(Array, Array)
#4 C:\xampp\htdocs\NewBlog\laravel\routing\controller.php(285): Laravel\Routing\Controller->response('index', Array)
#5 C:\xampp\htdocs\NewBlog\laravel\routing\controller.php(165): Laravel\Routing\Controller->execute('index', Array)
#6 C:\xampp\htdocs\NewBlog\laravel\routing\route.php(153): Laravel\Routing\Controller::call('api.category@in...', Array)
#7 C:\xampp\htdocs\NewBlog\laravel\routing\route.php(124): Laravel\Routing\Route->response()
#8 C:\xampp\htdocs\NewBlog\laravel\laravel.php(167): Laravel\Routing\Route->call()
#9 C:\xampp\htdocs\NewBlog\public\index.php(34): require('C:\xampp\htdocs...')
#10 {main}

どうすればこの問題を解決できますか?

4

3 に答える 3

1

$catにInput::json()を入力しているので、コンテンツタイプをapplication/jsonに設定するヘッダーを持つcurlリクエストを送信していることを確認する必要があります。

curlは実際にはjsonを送信するために構築されていませんが、代わりに通常の投稿フィールドを送信できますか?

本当に...curlリクエストの送信に使用しているコードなど、状況に関する詳細情報が必要です

于 2012-11-20T07:05:55.853 に答える
0

他の回答に示されているように機能していて、jsonラッパーの「倍増」で問題が発生している場合は、json_encode()の代わりにeloquent_to_json()を使用することをお勧めします http://laravel.com/api /function-eloquent_to_json.html

于 2012-12-14T18:00:48.360 に答える
0

$cat22行目が何であるかを知らなくても、それが実際にオブジェクトであることを確認することをお勧めします。そのエラーがスローされている可能性が最も高いのは、それがnull、またはエラーが示すように、オブジェクトではないためです。

于 2012-11-20T06:33:30.020 に答える