php - 拉维 API 404 错误

标签 php laravel api

我正在使用 Laravel 5.4 制作简单的 API,但我遇到了问题。我为测试创建了路由和一些数据,但是当我通过放置 localhost:8888/{projectname}/api/v1/meeting 测试路由是否与 Postman 一起正常工作时,它显示我 错误 404 页面不发现。我做错了什么?

routes/api.php

<?php    
Route::group(['prefix' => 'v1'], function() {
    Route::resource('meeting', 'MeetingController', [
        'except' => ['edit', 'create']
    ]);

    Route::resource('meeting/registration', 'RegistrationController', [
        'only' => ['store', 'destroy']
    ]);

    Route::post('user', [
        'uses' => 'AuthController@store'
    ]);

    Route::post('user/signin', [
        'uses' => 'AuthController@signin'
    ]);
});

session Controller

<?php    
namespace App\Http\Controllers;    
use Illuminate\Http\Request;    
use App\Http\Requests;    
class MeetingController extends Controller
{
    public function __construct()
    {
        // $this->middleware('name');
    }

    public function index()
    {
        return "It works!";
    }

    public function store(Request $request)
    {
        return "It works!";
    }

    public function show($id)
    {
        return "It works!";
    }

    public function update(Request $request, $id)
    {
        return "It works!";
    }

    public function destroy($id)
    {
        return "It works!";
    }

}

注册 Controller

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class RegistrationController extends Controller
{
    public function store(Request $request)
    {
        return "It works!";
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        return "It works!";
    }
}

授权 Controller

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class AuthController extends Controller
{
    public function store(Request $request)
    {
        return "It works!";
    }

    public function signin(Request $request)
    {
        return "It works!";
    }
}

命令php artisan route:list的输出:

    +--------+-----------+--------------------------------------------+----------------------+-----------------------------------------------------+------------+
| Domain | Method    | URI                                        | Name                 | Action                                              | Middleware |
+--------+-----------+--------------------------------------------+----------------------+-----------------------------------------------------+------------+
|        | GET|HEAD  | /                                          |                      | Closure                                             | web        |
|        | POST      | api/v1/meeting                             | meeting.store        | App\Http\Controllers\MeetingController@store        | api        |
|        | GET|HEAD  | api/v1/meeting                             | meeting.index        | App\Http\Controllers\MeetingController@index        | api        |
|        | POST      | api/v1/meeting/registration                | registration.store   | App\Http\Controllers\RegistrationController@store   | api        |
|        | DELETE    | api/v1/meeting/registration/{registration} | registration.destroy | App\Http\Controllers\RegistrationController@destroy | api        |
|        | DELETE    | api/v1/meeting/{meeting}                   | meeting.destroy      | App\Http\Controllers\MeetingController@destroy      | api        |
|        | PUT|PATCH | api/v1/meeting/{meeting}                   | meeting.update       | App\Http\Controllers\MeetingController@update       | api        |
|        | GET|HEAD  | api/v1/meeting/{meeting}                   | meeting.show         | App\Http\Controllers\MeetingController@show         | api        |
|        | POST      | api/v1/user                                |                      | App\Http\Controllers\AuthController@store           | api        |
|        | POST      | api/v1/user/signin                         |                      | App\Http\Controllers\AuthController@signin          | api        |
+--------+-----------+--------------------------------------------+----------------------+-----------------------------------------------------+------------+

最佳答案

在 5.4 版本中,api 已经添加到端点中,因此无需在 url 中再次添加“api”。

请更改自:

Route::group(['prefix' => 'api/v1'], function() {

}

Route::group(['prefix' => 'v1'], function() {

}

关于php - 拉维 API 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45294673/

相关文章:

javascript - HTML 链接会像表单一样下拉菜单?

php - 学习 PHP 面向对象的方面

php - PHP错误日志HTML电子邮件标题

php - 在 codeigniter 中一起更新和加入查询?

c# - 在 Windows 窗体中显示 SolidWorks 工程图

php - Mailgun PHP API 于 2018 年 1 月 23 日更改 SSL 证书错误未使用新的 cacert.pem 文件解决

php - "use"php 文件中的语句

javascript - 在 laravel 中获取 ajax 发布的数据?

Laravel 隔离管理员登录

api - 嵌套关系 Wagtail api