我正在使用资源收集在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中
我的路线
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)
{
//
}
}
请帮我
提前致谢。
您正在发布到http://localhost:8000/locations
,而您的路线列表明确定义了URIhttp://localhost:8000/api/locations
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句