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

Php 如何创建完整的Laravel rest api并与Laravel rest控制器混淆,php,api,rest,laravel,Php,Api,Rest,Laravel,我对Laravel很陌生,现在我正在进行我的第一个Laravel项目。现在我需要为移动设备提供RESTAPI。我关注了Laravel网站上的REST资源控制器文档。但当我调用RESTAPI时,它不会返回任何值 如何在Laravel中完成RESTAPI?我使用的是Laravel 5 我的RESTAPI服务器代码如下 “路线” “控制器” 客户端代码: “使用卷曲” 我的代码有什么问题?它不会返回任何值。首先,您需要了解Laravel的命名约定 为你的控制器学习用例 使用artisan命令生成资源控

我对Laravel很陌生,现在我正在进行我的第一个Laravel项目。现在我需要为移动设备提供RESTAPI。我关注了Laravel网站上的REST资源控制器文档。但当我调用RESTAPI时,它不会返回任何值

如何在Laravel中完成RESTAPI?我使用的是Laravel 5

我的RESTAPI服务器代码如下

“路线”

“控制器”

客户端代码:

“使用卷曲”


我的代码有什么问题?它不会返回任何值。

首先,您需要了解Laravel的命名约定

为你的控制器学习用例

使用artisan命令生成资源控制器

php artisan make:controller UserAccessController
您的路线:

Route::resource('/users','UserAccessController');
“控制器”-文件名:
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”内容类型:application/json”-X GEThttp://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);

尝试为route::resource(“/users”、“App\Http\Controllers\user\u accessController”)使用完整名称PAE;顺便说一句:你应该遵循命名约定。查看类在Laravel中是如何命名的。没有一个班级的名字像你们的一样。我已经遵守了惯例。相同的结果。从浏览器访问此URL时会发生什么情况<代码>http://laravel.bbc:8080/users它正在返回此信息。{“name”:“Wai Yan”}我用php添加了这一行。curl_setopt($ch,CURLOPT_HTTPHEADER,array('Accept:application/json','Content-Type:application/json'))。但它不起作用。你是从同一个laravel项目运行这段代码吗?不是。我是从不同的项目运行。所以,要从不同的项目中使用它,我应该怎么做呢?如果不同的项目使用PHP,我建议您使用GuzzleHttp进行请求,因为它有很多很好的方法。您可以这样做的示例:
$client=newclient()$响应=$client->get('http://laravel.dev/users'); $json=$response->json()
echo$json['name']\\非常感谢您的建议。我有机会了解新事物。但是如何使用Curl访问?有什么想法吗?
Route::resource('/users','UserAccessController');
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']);
    }


}
$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);