前提・実現したいこと
- 記事を参考に、LaravelにてQiitaApiを呼び出そうとしています。
GuzzleをインストールしてHTTP通信をしようとしていますがうまくいきません。
発生している問題・エラーメッセージ
Call to undefined method App\Client::request()
- 未定義の呼び出していると怒られているのはわかるのですが、どこの箇所を指摘しているのかわかりません。
該当のソースコード
webphp
1<?php 2省略 3 4// Route::get('/', function () { 5// return view('welcome'); 6// }); 7 8Route::get('/', 'PostController@index'); 9
Postcontroller
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7use App\Models\Post; 8use App\Client; 9 10class PostController extends Controller 11{ 12 public function index () 13 { 14 $tag_id = "laravel"; 15 16 $url = "https://qiita.com/api/v2/tags/" . $tag_id . "/items?page=1&per_page=20"; 17 $method = "GET"; 18 19 $client = new Client(); 20 21 $response = $client->request($method, $url); 22 23 $posts = $response->getBody(); 24 $posts = json_decode($posts, true); 25 26 return view('index', ['posts' => $posts]); 27 } 28} 29
indexphp
1<!DOCTYPE html> 2<head> 3 <meta charset="utf-8"> 4 <meta name="viewport" content="width=device-width, initial-scale=1"> 5 6 <!-- CSRF Token --> 7 <meta name="csrf-token" content="{{ csrf_token() }}"> 8 9 <title>{{ config('app.name', 'Laravel') }}</title> 10 11 <!-- Scripts --> 12 <script src="{{ asset('js/app.js') }}" defer></script> 13 14 <!-- Fonts --> 15 <link rel="dns-prefetch" href="//fonts.gstatic.com"> 16 <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> 17 18 <!-- Styles --> 19 <link href="{{ asset('css/app.css') }}" rel="stylesheet"> 20</head> 21 22<body> 23 <main class="py-4"> 24 <div class="container"> 25 <div class="row justify-content-center"> 26 <div class="col-md-10"> 27 <table class="table table-striped table-dark mt-5"> 28 <tr> 29 <th>タイトル</th> 30 <th>いいね数</th> 31 <th>コメント数</th> 32 <th>作成日</th> 33 </tr> 34 @foreach($posts as $post) 35 <tr> 36 <td>{{$post['title']}}</td> 37 <td>{{$post['likes_count']}}</td> 38 <td>{{$post['comments_count']}}</td> 39 <td>{{$post['created_at']}}</td> 40 </tr> 41 @endforeach 42 </table> 43 </div> 44 </div> 45 </div> 46 </main> 47</body> 48 49</html>
試したこと
Postcontrollerにuse App\Client;追記
ご教授していただけると幸いです。
補足情報(FW/ツールのバージョンなど)
laravel6
Guzzleをインストール
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/16 11:57