我用Laravel 8创建了一个API,非常简单,只是做一些测试,它是一个用户表,我存储他们的名字,姓氏和城市。
那么我的问题是要获得所有的用户是在数据库中,当使一个POST和添加一个新的,我可以使一个GET看到一个特定的用户,我也可以更新用户和删除他们,所以我不明白为什么我不能添加他们,看到所有的。
下面是代码
UsuarioController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Usuario;
class UsuarioController extends Controller
{
public function index()
{
$usuarios = Usuario::all();
return response()->json($usuarios);
}
public function show($id)
{
$Usuario = Usuario::find($id);
if (!$Usuario) {
return response()->json(['error' => 'Usuario not found'], 404);
}
return response()->json($Usuario);
}
public function store(Request $request)
{
$usuario = new Usuario();
$usuario->nombre = $request->input('nombre');
$usuario->apellidos = $request->input('apellidos');
$usuario->ciudad = $request->input('ciudad');
$usuario->save();
return response()->json($usuario, 201);
}
public function update(Request $request, $id)
{
$usuario = Usuario::find($id);
if (!$usuario) {
return response()->json(['error' => 'Usuario not found'], 404);
}
$usuario->nombre = $request->input('nombre');
$usuario->apellidos = $request->input('apellidos');
$usuario->ciudad = $request->input('ciudad');
$usuario->save();
return response()->json($usuario);
}
public function destroy($id)
{
$Usuario = Usuario::find($id);
if (!$Usuario) {
return response()->json(['error' => 'Usuario not found'], 404);
}
$Usuario->delete();
return response()->json(['message' => 'Usuario deleted']);
}
}
Routes/Api.php
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Models\Usuario;
use App\Http\Controllers\UsuarioController;
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/usuarios', [UsuarioController::class, 'index']);
Route::post('/usuarios', [UsuarioController::class, 'store']);
Route::get('/usuarios/{id}', [UsuarioController::class, 'show']);
Route::put('/usuarios/{id}', [UsuarioController::class, 'update']);
Route::delete('/usuarios/{id}', [UsuarioController::class, 'destroy']);
And Models/Usuario.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Usuario extends Model
{
use HasFactory;
protected $fillable = ['nombre', 'apellidos', 'ciudad'];
protected $table = 'usuarios';
}
我使用这个网址“http://localhost:8000/api/usuarios”,我得到404找不到,但我不明白为什么如果别人要求像把作品
1条答案
按热度按时间2eafrhcq1#
我想你在postman中的URL后面多加了一个空格/行,请修剪一下