【发布时间】:2021-01-21 16:19:00
【问题描述】:
我正在使用资源收集在 Laravel 7 中创建一个 CRUD API,但是当我尝试使用发布请求发送数据时,它给出了
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException:此路由不支持 POST 方法。支持的方法:GET、HEAD。在文件 D:\xampp\htdocs\safaripet\backend\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php 第 117 行
我的路线
Route::apiResource('locations','Api\LocationsController');
我的控制器代码
<?PHP
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Resources\Locations as LocationsResource;
use App\Locations;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Validator;
class LocationsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return new LocationsResource(Locations::paginate(3));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'location_name' => 'required|unique:locations',
],
[
'location_name.required' => 'Enter name',
'location_name.unique' => 'location name already exist',
]);
$locations = new Locations();
$locations->location_name = $request->location_name;
$locations->slug = Str::slug($request->location_name);
$locations->save();
return new LocationsResource($locations);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
请帮帮我
提前致谢。
【问题讨论】: