ホームページ >バックエンド開発 >PHPチュートリアル >Laravel Restful Back Endを使用してReactアプリを構築する:パート1、Laravel 9 API
LaravelとReactは、最新のWebアプリケーションの構築に使用される2つの一般的なWeb開発技術です。 Laravelは顕著にサーバー側のPHPフレームワークですが、Reactはクライアント側のJavaScriptライブラリです。このチュートリアルでは、LaravelとReactの両方の紹介として機能し、それらを組み合わせて最新のWebアプリケーションを作成します。 このチュートリアルでは、Laravelの最新バージョンであるバージョン9を使用して、安定したバックエンドAPIを作成します。フロントエンドは、Reactで記述されたコンポーネントで構成されます。機知に富んだ製品リストアプリケーションを構築します。チュートリアルの最初の部分では、Laravelの概念とバックエンドに焦点を当てます。始めましょう。 はじめに routes/api.php新しいインポートとルートを使用しています。気付いていない場合は、製品のインスタンスをコントローラーメソッドに注入しました。これは、Laravelの暗黙の結合の例です。 Laravelは、モデルインスタンス名composer create-project laravel/laravel example-app<br>
すべてがうまくいった場合、ProductsControllerの開発サーバーでアプリケーションを提供できるはずです。 product $ product
{product}<pre class="brush:php;toolbar:false"><?php<br><br>namespace App\Http\Controllers;<br><br>use Illuminate\Http\Request;<br>use App\Product;<br><br>class ProductsController extends Controller<br>{<br><br> public function index()<br> {<br> return Product::all();<br> }<br><br> public function show(Product $product)<br> {<br> return $product;<br> }<br><br> public function store(Request $request)<br> {<br> $product = Product::create($request->all());<br><br> return response()->json($product, 201);<br> }<br><br> public function update(Request $request, Product $product)<br> {<br> $product->update($request->all());<br><br> return response()->json($product, 200);<br> }<br><br> public function delete(Product $product)<br> {<br> $product->delete();<br><br> return response()->json(null, 204);<br> }<br><br>}<br></pre>と一致させようとします。一致が見つかった場合、製品モデルのインスタンスがコントローラーアクションに注入されます。データベースに製品がない場合、404エラーが返されます。最終結果は以前と同じですが、コードが少なくなります。<strong></strong>郵便配達員またはVSコードを開き、製品のエンドポイントが機能するはずです。 <code> accept:application/json<pre class="brush:php;toolbar:false">// Include this at the file top:<br>use App\Http\Controllers\ProductsController;<br><br>/**<br>**Basic Routes for a RESTful service:<br>**Route::get($uri, $callback);<br>**Route::post($uri, $callback);<br>**Route::put($uri, $callback);<br>**Route::delete($uri, $callback);<br>**<br>*/<br><br><br>Route::get('products', 'ProductsController@index');<br><br>Route::get('products/{product}', 'ProductsController@show');<br><br>Route::post('products','ProductsController@store');<br><br>Route::put('products/{product}','ProductsController@update');<br><br>Route::delete('products/{product}', 'ProductsController@delete');<br><br><br></pre>ヘッダー有効になっていることを確認してください。<p> <code>Product $product
検証と例外処理{product}
app/exceptions/handler.phpAccept : application/json
にある例外ハンドリング専用のハンドラークラスがあります。クラスには主に2つの方法があります: report()
render()<h2>。 <code>レポート
メソッドは、例外イベントのレポートとログのログに役立ちますが、レンダリングメソッドは、例外が発生したときに応答を返すために使用されます。 JSON応答を返すようにレンダリングメソッドを更新します:また、
composer create-project laravel/laravel example-app<br>
Laravelを使用すると、一連の検証ルールを使用して着信HTTP要求を検証し、検証が失敗した場合にJSON応答を自動的に返すこともできます。検証のロジックは、コントローラー内に配置されます。 IlluminateHttpRequest
オブジェクトは、検証ルールを定義するために使用できる検証メソッドを提供します。 app/http/controllers/productscontroller.php。ただし、APIには、認証や不正なユーザーへのアクセスの制限などの基本的な機能がありません。 Laravelは、認証のためにすぐに使用できるサポートを受けており、APIを構築するのは比較的簡単です。認証APIを演習として実装することをお勧めします。
<?php<br><br>namespace App\Http\Controllers;<br><br>use Illuminate\Http\Request;<br>use App\Product;<br><br>class ProductsController extends Controller<br>{<br><br> public function index()<br> {<br> return Product::all();<br> }<br><br> public function show(Product $product)<br> {<br> return $product;<br> }<br><br> public function store(Request $request)<br> {<br> $product = Product::create($request->all());<br><br> return response()->json($product, 201);<br> }<br><br> public function update(Request $request, Product $product)<br> {<br> $product->update($request->all());<br><br> return response()->json($product, 200);<br> }<br><br> public function delete(Product $product)<br> {<br> $product->delete();<br><br> return response()->json(null, 204);<br> }<br><br>}<br>バックエンドが完了したので、フロントエンドの概念に焦点を移します。このシリーズの2番目の投稿はこちらでご覧ください:
以上がLaravel Restful Back Endを使用してReactアプリを構築する:パート1、Laravel 9 APIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。