APIでやりたい事:
異なるAサーバーから勝手に送信してくるデータをリアルタイムで取得し、そのデータをBサーバー
のそれぞれの違うテーブル(test_users_tableとtest_profile_table;)に保存したい、保存する時の注意点は送信してくるデータとこちらにあるテーブルのカラムが違ったりしますが同じカラムだけを保存する。
ログイン認証は行わないですが認証キーが一致していればいいです。
API は全くやった事なくて、どう書けばいいかわからなくて困っています。
誰かが助けてくださいませ!!
statusは下記
response: 200: description: "リクエスト成功" schema: $ref:"#/definition/Success" 400: description:"リクエスト失敗" schema: $ref:"#definitions/RequestError" 401: description:"認証キーが一致しない場合" chema: $ref:"#definitions/AuthorizeError" 500: description:"システムエラー" chema: $ref:"#definitions/ServerError"
###apiを取得するApiInfoController.php
<?php namespace App\Http\Controllers; use App\Api_info; use App\test_users; use App\test_profile; use Illuminate\Http\Request; use Response; class ApiInfoController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $apply_users = Apply_users::all(); // return Response::json($apply_users); define("ABC_URL","https://example.jp/api/api_info"); $base_url = ABC_URL; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $base_url); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // curl_execの結果を文字列で返す $api_info = Api_info::get(); if ($api_info->isEmpty()){ return Response::json(array('status' => 'NOT FOUND')); }else{ return Response::json(array( 'status' => 'OK', 'data' => $api_info[0] )); } }
###受け取ったデータをそれぞれのテーブルに保存す
test_tableに保存つもりではありますがtest_profile_tableはどうすればいい変わらないです、そもそも、どうやってデータを保存すればいいかわかりません
public function store(Request $request) { $data = $request->input('Api_info'); return test_users::create([ 'email' => $test_users, 'content' => $test_users, 'birth_day' => $test_users, 'gerder' => $test_users, ]); }