请查看以下信息:
NoteController.php个
<?php
namespace App\Http\Controllers;
use App\Http\Requests\NoteRequest;
use App\Models\Note;
use Illuminate\Http\JsonResponse;
class NoteController extends Controller
{
public function index():JsonResponse
{
$notes = Note::all();
return response()->json($notes, 200);
}
public function store(NoteRequest $request):JsonResponse
{
$note = Note::create( $request->all() );
return response()->json([
'success' => true,
'data' => $note
], 201);
}
public function show($id):JsonResponse
{
$note = Note::find($id);
return response()->json($note, 200);
}
public function update(NoteRequest $request, $id):JsonResponse
{
$note = Note::find($id);
$note->update($request->all());
return response()->json([
'success' => true,
'data' => $note,
], 200);
}
public function destroy($id):JsonResponse
{
Note::find($id)->delete();
return response()->json([
'success' => true
], 200);
}
}
NoteRequest.php个
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class NoteRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'title', 'required|max:255|min:3',
'content', 'nullable|max:255|min:10',
];
}
}
Note.php (model)个
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Note extends Model
{
use HasFactory;
protected $guarded = [];
}
api.php个
<?php
use App\Http\Controllers\NoteController;
use Illuminate\Support\Facades\Route;
Route::prefix('v1')->group(function () {
Route::resource('/note', NoteController::class);
});
php artisan route:list个
GET|HEAD / ......................................................................................................................
POST _ignition/execute-solution ............... ignition.executeSolution › Spatie\LaravelIgnition › ExecuteSolutionController
GET|HEAD _ignition/health-check ........................... ignition.healthCheck › Spatie\LaravelIgnition › HealthCheckController
POST _ignition/update-config ........................ ignition.updateConfig › Spatie\LaravelIgnition › UpdateConfigController
GET|HEAD api/v1/note .......................................................................... note.index › NoteController@index
POST api/v1/note .......................................................................... note.store › NoteController@store
GET|HEAD api/v1/note/create ................................................................. note.create › NoteController@create
GET|HEAD api/v1/note/{note} ..................................................................... note.show › NoteController@show
PUT|PATCH api/v1/note/{note} ................................................................. note.update › NoteController@update
DELETE api/v1/note/{note} ............................................................... note.destroy › NoteController@destroy
GET|HEAD api/v1/note/{note}/edit ................................................................ note.edit › NoteController@edit
GET|HEAD sanctum/csrf-cookie .................................. sanctum.csrf-cookie › Laravel\Sanctum › CsrfCookieController@show
thunder request (same as postman). Thunder Client.
JSON Request
{
"title": "Hello World",
"content": "Lorem ipsum."
}
try 作出一个JSON POST请求,并得到Status: 405 Method Not Allowed,我正在使用php artisan 服务,我可以提供git项目,如果有必要.请让我知道.