如何创建完整的Laravel rest api并与Laravel REST控制器混淆

问题描述 投票:2回答:2

我是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);

我的代码出了什么问题?它没有返回任何值。

php api rest laravel
2个回答
1
投票

首先,您需要了解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


0
投票
$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);
© www.soinside.com 2019 - 2024. All rights reserved.