laravel-learn-bbs/routes/api.php

82 lines
2.7 KiB
PHP
Raw Normal View History

2017-12-24 14:17:18 +00:00
<?php
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
2018-06-10 08:39:32 +00:00
2018-06-02 17:21:16 +00:00
$api = app('Dingo\Api\Routing\Router');
2017-12-24 14:17:18 +00:00
2018-06-10 08:39:32 +00:00
$api->version('v1', [
'namespace' => 'App\Http\Controllers\Api',
'middleware' => 'serializer:array',
], function ($api) {
2018-06-03 09:37:54 +00:00
$api->group([
'middleware' => 'api.throttle',
'limit' => config('api.rate_limits.sign.limit'),
'expires' => config('api.rate_limits.sign.expires'),
], function ($api) {
// 短信验证码
$api->post('verificationCodes', 'VerificationCodesController@store')
->name('api.verificationCodes.store');
// 用户注册
$api->post('users', 'UsersController@store')
->name('api.users.store');
2018-06-03 10:58:09 +00:00
// 图片验证码
$api->post('captchas', 'CaptchasController@store')
->name('api.captchas.store');
2018-06-03 13:09:33 +00:00
// 第三方登录
$api->post('socials/{social_type}/authorizations', 'AuthorizationsController@socialStore')
->name('api.socials.authorizations.store');
2018-06-03 15:45:49 +00:00
// 登录
$api->post('authorizations', 'AuthorizationsController@store')
->name('api.authorizations.store');
// 刷新token
$api->put('authorizations/current', 'AuthorizationsController@update')
->name('api.authorizations.update');
// 删除token
$api->delete('authorizations/current', 'AuthorizationsController@destroy')
->name('api.authorizations.destroy');
2018-06-10 10:04:03 +00:00
// 游客可以访问的接口
$api->get('categories', 'CategoriesController@index')
->name('api.categories.index');
2018-06-03 09:37:54 +00:00
});
2018-06-10 08:39:32 +00:00
// 需要 token 验证的接口
$api->group(['middleware' => 'api.auth'], function ($api) {
// 当前登录用户信息
$api->get('user', 'UsersController@me')
->name('api.user.show');
2018-06-10 09:25:41 +00:00
// 图片资源
$api->post('images', 'ImagesController@store')
->name('api.images.store');
// 编辑登录用户信息
$api->patch('user', 'UsersController@update')
->name('api.user.update');
2018-06-10 10:04:03 +00:00
//发布话题
$api->post('topics', 'TopicsController@store')->name('api.topics.store');
2018-06-10 08:39:32 +00:00
});
2018-06-03 09:37:54 +00:00
2018-06-02 17:21:16 +00:00
});
2018-06-03 08:11:51 +00:00
/*$api->version('v2', function ($api) {
2018-06-02 17:21:16 +00:00
$api->get('version', function () {
return response('this is version v2');
});
2018-06-03 08:11:51 +00:00
});*/
2018-06-02 17:21:16 +00:00
/*Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});*/