我在localhost中的laravel中创建了一个简单的API . ApiController.php文件显示错误 . 我的代码如下:

namespace App \ Http \ Controllers;

使用Illuminate \ Http \ Request;

类ApiController扩展Controller {

public function accessToken(Request $request)
{

$ validate = $ this-> validations($ request,“login”);

如果($验证[ “错误”]){

return $ this-> prepareResult(false,[],$ validate ['errors'],“验证用户时出错”);

}

$ user = User :: where(“email”,$ request-> email) - > first();

如果($用户){

if(Hash :: check($ request-> password,$ user-> password)){

return $ this-> prepareResult(true,[“accessToken”=> $ user-> createToken('Todo App') - > accessToken],[],“User Verified”);

}其他{

return $ this-> prepareResult(false,[],[“password”=>“错误的passowrd”],“密码不匹配”);

}

}其他{

return $ this-> prepareResult(false,[],[“email”=>“无法找到用户”],“找不到用户”);

}

}

/ **

*获取传入Todo请求的验证器 .

  • @param \ Illuminate \ Http \ Request $ request

  • @param $ type

  • @return \ Illuminate \ Contracts \ Validation \ Validator

  • /

公共函数验证($ request,$ type){

$ errors = [];

$ error = false;

if($ type ==“login”){

$ validator = Validator :: make($ request-> all(),[

'email'=>'required | email | max:255',

'password'=>'required',

]);

如果(用$ validator->失败()){

$ error = true;

$ errors = $ validator-> errors();

}

} elseif($ type ==“create todo”){

$ validator = Validator :: make($ request-> all(),[

'todo'=>'必需',

'description'=>'required',

'category'=>'required'

]);

如果(用$ validator->失败()){

$ error = true;

$ errors = $ validator-> errors();

}

} elseif($ type ==“update todo”){

$ validator = Validator :: make($ request-> all(),[

'todo'=>'填充',

'description'=>'填充',

'category'=>'填充'

]);

如果(用$ validator->失败()){

$ error = true;

$ errors = $ validator-> errors();

}

}

return [“error”=> $ error,“errors”=> $ errors];

}

/ **

*显示资源列表 .

  • @param \ Illuminate \ Http \ Request $ request

  • @return \ Illuminate \ Http \ Response

  • /

私有函数prepareResult($ status,$ data,$ errors,$ msg)

{

return ['status'=> $ status,'data'=> $ data,'message'=> $ msg,'errors'=> $ errors];

}

/ **

*显示资源列表 .

  • @param \ Illuminate \ Http \ Request $ request

  • @return \ Illuminate \ Http \ Response

  • /

公共功能索引(请求$请求)

{

return $ this-> prepareResult(true,$ request-> user() - > todo() - > get(),[],“All user todos”);

}

/ **

*显示指定的资源 .

  • @param \ App \ Todo $ todo

  • @return \ Illuminate \ Http \ Response

  • /

公共功能节目(请求$ request,Todo $ todo)

{

if($ todo-> user_id == $ request-> user() - > id){

return $ this-> prepareResult(true,$ todo,[],“get fetched”);

}其他{

return $ this-> prepareResult(false,[],“unauthorized”,“你没有通过身份验证来查看此todo”);

}

}

/ **

*将新创建的资源存储在存储中 .

  • @param \ Illuminate \ Http \ Request $ request

  • @return \ Illuminate \ Http \ Response

  • /

公共功能商店(Request $ request){

$ error = $ this-> validations($ request,“create todo”);

if($ error ['error']){

return $ this-> prepareResult(false,[],$ error ['errors'],“创建todo时出错”);

} else {

$ todo = $ request-> user() - > todo() - > Create($ request-> all());

return $ this-> prepareResult(true,$ todo,$ error ['errors'],“Todo created”);

}

}

/ **

*更新存储中的指定资源 .

  • @param \ Illuminate \ Http \ Request $ request

  • @param \ App \ Todo $ todo

  • @return \ Illuminate \ Http \ Response

  • /

公共功能更新(Request $ request,Todo $ todo){

if($ todo-> user_id == $ request-> user() - > id){

$ error = $ this-> validations($ request,“update todo”);

if($ error ['error']){

return $ this-> prepareResult(false,[],$ error ['errors'],“更新数据时出错”);

} else {

$ todo = $ todo-> fill($ request-> all()) - > save();

return $ this-> prepareResult(true,$ todo,$ error ['errors'],“update data”);

}

}其他{

return $ this-> prepareResult(false,[],“unauthorized”,“你没有经过身份验证来编辑这个待办事项”);

}

}

/ **

*从存储中删除指定的资源 .

  • @param \ App \ Todo $ todo

  • @return \ Illuminate \ Http \ Response

  • /

public function destroy(Todo $ todo){

if($ todo-> user_id == $ request-> user() - > id){

if($ todo-> delete()){

return $ this-> prepareResult(true,[],[],“Todo deleted”);

}

} else {

return $ this-> prepareResult(false,[],“unauthorized”,“你没有通过身份验证来删除这个待办事项”);

}

}}