【问题标题】:Laravel POST method going to GETLaravel POST 方法去 GET
【发布时间】:2017-10-05 03:14:50
【问题描述】:

我有一个在 Laravel 5.4 中无法解决的问题。 我正在使用 Postman 扩展为我的 API 发出请求,到目前为止,它可以正常使用 GET,但是当我尝试执行 POST 时,实际调用的方法又是 GET。 (API 不能为用户提供身份验证或令牌)。

api.php:

<?php
use Illuminate\Http\Request;
Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});
Route::group(['api' => ['auth:api']], function(){
    Route::group(['prefix' => 'user'], function(){
        Route::get('{id}', ['uses' => 'UserController@getUser']);
        Route::post('', ['uses' => 'UserController@saveUser']);
        Route::get('', ['uses' => 'UserController@allUsers']);
        Route::put('{id}',['uses' => 'UserController@updateUser']);
        Route::delete('{id}', ['uses' => 'UserController@deleteUser']);
    });
});

UserController.php:

<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
class UserController extends Controller{
    protected $user = null;
    public function __construct(User $user){
        $this->user = $user;
    }
    public function allUsers(){
        return $this->user->allUsers();
    }
    public function getUser($id){
    }
    public function saveUser(){
        return $this->user->saveUser();
    }
    public function updateUser($id){
    }
    public function deleteUser($id){
    }
}

用户.php:

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
    public $hidden = ['venda','remember_token', 'created_at','updated_at'];
    public $fillable = ['nome','email', 'venda'];
    public function allUsers(){
        return self::all();
    }
    public function saveUser(){
        $input = Input::all();
        echo 'aa';
        $user = new User();
        $user->fill($input);
        $user->save();
        return $user;
    }
}

【问题讨论】:

    标签: php laravel api http-post


    【解决方案1】:

    首先改变这个:

    Route::group(['api' => ['auth:api']], function(){
    

    收件人:

    Route::group(['middleware' => ['auth:api']], function(){
    

    【讨论】:

    • 现在出现以下错误:“InvalidArgumentException in UrlGenerator.php line 304: Route [login] not defined。” (此API无法请求认证)
    • 你能粘贴你的js文件吗?
    • 另外,你可以修改这个link我想它有你需要的东西
    • 我可以在js中添加&lt;script&gt; window.Laravel = {!! json_encode([ 'csrfToken' =&gt; csrf_token(), ]) !!}; &lt;/script&gt;吗?
    • 不,您将其添加到刀片文件中,例如。 head.blade.php
    猜你喜欢
    • 2019-01-23
    • 2020-08-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 2019-10-12
    • 2021-04-11
    相关资源
    最近更新 更多