【问题标题】:Laravel: How to get the json response from APILaravel:如何从 API 获取 json 响应
【发布时间】:2019-04-25 10:04:47
【问题描述】:

这是我的一个控制器返回的响应

    class initController extends Controller
    {

        public function index(Request $request)
        {

            $init=DB::table('inits')->select('authID')->inRandomOrder()->first();
            if($init == false){
                return response()->json(['status:' => 1 ,'authID' => current($init)]);
            }
            return response()->json(['status:' => 0 ,'authID' => current($init)]);
        }

    }

这是 API 路由

    Route::get('init', 'initController@index');
    Route::get('getLargeImage', 'getLargeImageController@getImg');

这是 getLargeImage 控制器

class getLargeImageController extends Controller
{


    public function index()
    {

    }

}

现在,在这个控制器中,我如何从第一个控制器中获取 json 响应?

【问题讨论】:

标签: php laravel


【解决方案1】:

我认为简单的 Google 搜索就足够了; https://laravel-tricks.com/tricks/internal-requests

有很多关于在 Laravel 上提出内部请求的文章,而且,这个问题之前已经在这里被问过和回答,例如; Consuming my own Laravel API

要回答您的问题,您需要根据您的路线提出内部请求;

$request = Request::create('init', 'GET');
$response = Route::dispatch($request);

【讨论】:

  • 如何实现这个,我把我的 getlargeImage 控制器和 dd($response) 它返回一个错误,即 Class 'App\Http\Controllers\Route' not found
  • 如果没有找到,通过 use App\Http\Controllers\Route; 将其放入包含所有依赖项的文件顶部
  • 我试过了还是不行,好像最新的ver(5.7)不推荐Route::dispatch实例,他们更喜欢你提到的'app()->handle()'方法在consuming-my-own-laravel-api
【解决方案2】:

你可以试试这个,

class getLargeImageController extends Controller
{
    public function index(Request $request)
    {
       $response = app('App\Http\Controllers\initController')->index($request);

    }
}

【讨论】:

  • 谢谢,不明白这个怎么用。
  • 得到这个错误 函数 App\Http\Controllers\initController::index() 的参数太少,0 传入 /home/jonnyy/PhpstormProjects/zcapt/app/Http/Controllers/getLargeImageController.php在第 20 行,预计正好是 1
  • @hostJ 真的很抱歉。你应该通过请求。更新请检查
  • 祝你好运......干杯
  • 还有一个问题,我怎样才能把这个json响应传给一个数组或者在里面取一个值,因为$response返回了很多对象。
猜你喜欢
  • 2014-09-16
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 2018-05-31
  • 1970-01-01
  • 2017-09-16
  • 2016-08-28
  • 2021-08-19
相关资源
最近更新 更多