エラー:以下で何もデータが入って来ないです
$json = json_decode($request->all()['data'], true);
Laravel5.4 web API 外部からjson型のデータを受信したいのですがNullしか返って来ないです。
仕様:外部からは勝手にJson型のデータをPOSTで送信してますがそれを受信する
POSTで送信されてくる予定のJsonは以下の感じ:
{"authen_key":"認証キー", "basic_info":{""...}, "apply":{...},"":{...}}
以下はTestapiController.php
<?php namespace App\Http\Controllers; use App\test_api; use Illuminate\Http\Request; use Response; use DB; use Illuminate\Support\Facades\Input; use Illuminate\Database\QueryException; class TestApiController extends Controller { public $successStatus = 200; public function index() { $authentication_key = 'nhhsq847283dsd'; if($authentication_key === true){ return response()->json(['success' => $success], $this->successStatus, Test_info::all()); }else{ // パラメータがない場合はこの処理に来るので401 return Response::json(['message' => '401 Unauthorized'],401); } } public function store(Request $request) { $json = json_decode($request->all()['data'], true); //dd($json['job']['user_id']); //exit; try { $jobs = DB::table('users')->where('user_id', $json['basic_info']['user_id'])->first(); //取得したデータを違うテーブルに保存 DB::table('profile')->insert([ 'id'=>$json['basic_info']['user_id'],//これはAPIでこないので、すでにあるUserテーブル情報で保存。 'gender'=>$json['profile']['sex'], 'birth_on'=>$json['profile']['birth_day'], ]); //取得したデータを違うテーブルに保存 DB::table('offers')->insert([ 'job_id'=>$json['apply']['site_name'], 'job_id'=>$json['apply']['url'], ]); } catch(\Exception $ex){ //dd($ex); return Response::json(['message' => '500 Unauthorized'],500); exit; } return $response; }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/18 00:58