我是Laravel的新手,现在我参加了我的第一个Laravel项目。现在我需要为移动设备提供REST api。我在Laravel网站上关注了REST资源控制器文档。但是当我调用我的REST api时,它没有返回任何值。
如何在Laravel完成休息api?我正在使用Laravel 5。
我的REST API服务器代码如下。
“路线”
Route::resource('/users','user_accessController');
“控制器”
namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Response;
use Illuminate\Http\Request;
use App\User;
class user_accessController extends Controller {
public function index()
{
return Response::json(array('name'=>'wai yan'));
}
}
客户代码:
“使用卷曲”
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, 'http://laravel.bbc:8080/users');
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_exec($ch);
$res = curl_close($ch);
我的代码出了什么问题?它没有返回任何值。
首先,您需要了解Laravel的命名约定。
适用于您的控制器的StudlyCase。
使用artisan命令生成资源控制器
php artisan make:controller UserAccessController
你的路线:
Route::resource('/users','UserAccessController');
“controller” - 文件名:UserAccessController.php
namespace App\Http\Controllers;
use Response;
//use App\Http\Controllers\Controller; no need for this both files are in same namespace
use App\User;
class UserAccessController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return response()->json(['name' => 'wai yan']);
}
}
使用上面相同代码的Laravel 5,这是我使用curl命令时的输出:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://laravel.dev/users
$chatToken = "put your API KEY";
header("Content-type: text / html; charset = utf-8");
$option = array (
"body" => "Test posting Messages"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_URL,"https://api.chatwork.com/v2/rooms/roomid/messages");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($option));
curl_setopt($ch, CURLOPT_HTTPHEADER, array ('X-ChatWorkToken:'. $chatToken));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);