【发布时间】: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;
}
}
【问题讨论】: