1、创建统一接口文件ApiResponse.php
<?php
namespace App\Helpers\Api;
trait ApiResponse
{
/**
* 成功的时候返回结果
* @param $data 返回数据集合
*/
public function success($data)
{
return $this->apiResponse('200','操作成功',$data);
}
/**
* 失败的时候返回结果
*/
public function fail($data)
{
return $this->apiResponse('500','操作失败',$data=[]);
}
/**
* 直接返回说明
*/
public function message($message)
{
return "$message";
}
/**
* 参数返回
* @param $code 状态码
* @param $message 返回说明
* @param $data 返回数据集合
*/
public function apiResponse($code, $message, $data)
{
$content = [
'code' => $code,
'message' => $message,
'data' => $data
];
return json_encode($content);
}
}
2、在app\Http\Api下创建ApiController控制器 接口继承用
<?php
namespace App\Http\Controllers\Api;
use App\Helpers\Api\ApiResponse; //引用接口方法
use App\Http\Controllers\Controller;
class ApiController extends Controller
{
use ApiResponse;
// 其他通用的Api帮助函数
}
3、开始写接口,测试用例StudentController.php 返回数据
<?php
namespace App\Http\Controllers\Api;
use App\Models\Student;
class StudentController extends ApiController
{
public function students()
{
$data = Student::all();
return $this->success($data);
}
}
4、写路由,在routes文件夹下的api.php
<?php
use Illuminate\Http\Request;
use \Illuminate\Support\Facades\Route;
Route::namespace('Api')->group(function () {
Route::get('/students','StudentController@students')->name('student.students');
});
5、测试接口 访问:域名/api/students
6、返回提示信息