【发布时间】:2019-06-28 12:34:06
【问题描述】:
开始使用 Laravel,我在尝试发布到我的一个页面时遇到了问题。
我正在使用 Postman 为我的 /clock 页面创建一个发布请求。
该帖子正在发送一个带有单个字段的简单 Json:
这是帖子的标题:
我的路由目前放在 routes/api.php 文件夹中,包含以下内容:
<pre>
<?php
use Illuminate\Http\Request;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/json', 'FormController@post');
Route::post('/clock', 'PayrollController@index');
它链接到app/Http/Controller/PayrollController.php 的控制器的代码如下所示:
<?php
namespace App\Http\Controllers;
use GuzzleHttp\Client;
use App\Company;
use Response;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class PayrollController extends Controller
{
function __construct()
{
}
public function index()
{
}
当我在 Postman 中执行帖子时,这是我得到的错误:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException: in file /var/www/html/oit_laravel1/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php on line 255
Stack trace:
1. Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException->() ...
【问题讨论】:
-
检查您的服务器日志。这看起来像邮递员错误。有时邮递员会随机发送 get 而不是 post。这将显示在您的服务器日志中。你也可以发布 php artisan route:list 的结果吗?
-
另外在标签页的正文旁边添加一个标题:Accept and the Value application/json
-
如果你在 api.php 中定义路由,Laravel 会自动为它们添加前缀 /api。你是发布到 /api/clock 还是只发布到 /clock?