# qila_api **Repository Path**: quezier_org/qila_api ## Basic Information - **Project Name**: qila_api - **Description**: qila_api - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-08-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##创建laravel项目 composer create-project --prefer-dist laravel/laravel apidemo 5.6.* 5.6.x版本需要php7.1.3以上版本支持 ##nginx配置 ``` location / { try_files $uri $uri/ /index.php$is_args$args; } ``` ##修改.env中的数据库配置 ```$xslt DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=apidemo DB_USERNAME=root DB_PASSWORD=root ``` ##创建Model和migrage ```$xslt php artisan make:model Article -m ``` ##创建表 ```$xslt php artisan migrate ``` ##生成数据填充类 ```$xslt php artisan make:seeder ArticlesTableSeeder ``` ##开始填充数据 ```$xslt php artisan db:seed --class=ArticlesTableSeeder ``` ##在DatabaseSeed类中,设置所有seed类,就可以一次填充所有表 ```$xslt php artisan db:seed ``` ##routes/api.php中配置路由 ##创建控制器 ```$xslt php artisan make:controller ArticleController ``` ##配置异常处理,在app/Exceptions/handler.php的render方法里加上 ```$xslt if ($exception instanceof NotFoundHttpException) { return response()->json([ 'error' => 'Resource not found.' ],404); } ``` ##vue配置,在node_modules\_laravel-mix@2.1.11@laravel-mix\src\builder\webpack-plugins.js中加入以下代码 否则会报错,提示缺少vue-loader相关插件 ```$xslt //在开头加入 let VueLoaderPlugin = require('vue-loader/lib/plugin'); //在最后return plugins之前加入 plugins.push(new VueLoaderPlugin()); ``` ##安装跨域中间件 ```angularjs php artisan make:middleware CrossHttp ``` 添加代码: ```angularjs /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $response = $next($request); $response->header('Access-Control-Allow-Origin', '*'); $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, Accept'); $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS'); // $response->header('Access-Control-Allow-Credentials', 'true'); return $response; } ``` ## 常用状态码 200:OK,标准的响应成功状态码 201:Object created,用于 store 操作 204:No content,操作执行成功,但是没有返回任何内容 206:Partial content,返回部分资源时使用 400:Bad request,请求验证失败 401:Unauthorized,用户需要认证 403:Forbidden,用户认证通过但是没有权限执行该操作 404:Not found,请求资源不存在 500:Internal server error,通常我们并不会显示返回这个状态码,除非程序异常中断 503:Service unavailable,一般也不会显示返回,通常用于排查问题用