Response内容必须是实现__toString()的字符串或对象," boolean"给出。
这是我的代码:
Route::get('/user/ip', function(Request $request) {
$ip =$request->ip();
//return $ip;
return Curl::to('https://ipapi.co/'.$ip.'/json/')->get();
});
答案 0 :(得分:1)
我正在寻找类似的问题。您的代码应为:
Route::get('/user/ip', function(Request $request) {
$ip =$request->ip();
//return $ip;
return response()
->json(Curl::to('https://ipapi.co/'.$ip.'/json/')->get()
);
});
祝你好运
答案 1 :(得分:0)
无需以这种方式创建api。
在Laravel 5上,您可以在routes-> api上创建路由,然后Laravel会知道这是一个api路由。
示例:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/engineers', 'EngineerController@index');
工程师合集:
class EngineerCollection extends ResourceCollection {
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'data' => $this->collection
];
}
}
还有EnginersController索引函数:
public function index()
{
return new EngineerCollection(Engineers::all());
}
然后转到您的应用程序: