我在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”,“你没有通过身份验证来删除这个待办事项”);
}
}}