gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

基于laravel制作API接口

基于laravel制作API接口

關于API

API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
需要注意的是:API有它的具體用途,我們應該清楚它是干啥的。訪問API的時候應該輸入什么。訪問過API過后應該得到什么。

在開始設計API時,我們應該注意這8點
后續的開發計劃就圍繞著這個進行了。

1.Restful設計原則
2.API的命名
3.API的安全性
4.API返回數據
5.圖片的處理
6.返回的提示信息
7.在線API測試文檔
8.在app啟動時,調用一個初始化API獲取必要的信息

用laravel開發API

就在我上愁著要不要從零開始學習的時候,找到了這個插件dingo/api那么現在就來安裝吧!
首先一定是下載的沒錯
在新安裝好的laravel的composer.json加入如下內容

然后打開cmd執行

composer update

在config/app.php中的providers里添加

AppProvidersOAuthServiceProvider::class, DingoApiProviderLaravelServiceProvider::class, LucaDegasperiOAuth2ServerStorageFluentStorageServiceProvider::class, LucaDegasperiOAuth2ServerOAuth2ServerServiceProvider::class,

在aliases里添加

'Authorizer' => LucaDegasperiOAuth2ServerFacadesAuthorizer::class,

修改app/Http/Kernel.php文件里的內容

protected $middleware = [LucaDegasperiOAuth2ServerMiddlewareOAuthExceptionHandlerMiddleware::class, ]; protected $routeMiddleware = [   'oauth' => LucaDegasperiOAuth2ServerMiddlewareOAuthMiddleware::class,   'oauth-user' => LucaDegasperiOAuth2ServerMiddlewareOAuthUserOwnerMiddleware::class,   'oauth-client' => LucaDegasperiOAuth2ServerMiddlewareOAuthClientOwnerMiddleware::class,   'check-authorization-params' => LucaDegasperiOAuth2ServerMiddlewareCheckAuthCodeRequestMiddleware::class,   'csrf' => AppHttpMiddlewareVerifyCsrfToken::class, ];

然后執行

php artisan vendor:publish

php artisan migrate

在.env文件里添加這些配置

API_STANDARDS_TREE=x API_SUBTYPE=rest API_NAME=REST API_PREFIX=api API_VERSION=v1 API_CONDITIONAL_REQUEST=true API_STRICT=false API_DEBUG=true API_DEFAULT_FORMAT=json

修改appconfigoauth2.php文件

'grant_types' => [   'password' => [     'class' => 'LeagueOAuth2ServerGrantPasswordGrant',     'access_token_ttl' => 604800,     'callback' => 'AppHttpControllersAuthPasswordGrantVerifier@verify',   ], ],

新建一個服務提供者,在app/Providers下新建OAuthServiceProvider.php文件內容如下

namespace AppProviders;   use DingoApiAuthAuth; use DingoApiAuthProviderOAuth2; use IlluminateSupportServiceProvider;   class OAuthServiceProvider extends ServiceProvider {   public function boot()   {     $this->app[Auth::class]->extend('oauth', function ($app) {       $provider = new OAuth2($app['oauth2-server.authorizer']->getChecker());         $provider->setUserResolver(function ($id) {         // Logic to return a user by their ID.       });         $provider->setClientResolver(function ($id) {         // Logic to return a client by their ID.       });         return $provider;     });   }     public function register()   {     //   } }

然后打開routes.php添加相關路由

//Get access_token Route::post('oauth/access_token', function() {    return Response::json(Authorizer::issueAccessToken()); });   //Create a test user, you don't need this if you already have. Route::get('/register',function(){   $user = new AppUser();    $user->name="tester";    $user->email="test@test.com";    $user->password = IlluminateSupportFacadesHash::make("password");    $user->save(); }); $api = app('DingoApiRoutingRouter');   //Show user info via restful service. $api->version('v1', ['namespace' => 'AppHttpControllers'], function ($api) {   $api->get('users', 'UsersController@index');   $api->get('users/{id}', 'UsersController@show'); });   //Just a test with auth check. $api->version('v1', ['middleware' => 'api.auth'] , function ($api) {   $api->get('time', function () {     return ['now' => microtime(), 'date' => date('Y-M-D',time())];   }); });

分別創建BaseController.php和UsersController.php內容如下

//BaseController namespace AppHttpControllers;   use DingoApiRoutingHelpers; use IlluminateRoutingController;   class BaseController extends Controller {   use Helpers; }   //UsersController namespace AppHttpControllers;   use AppUser; use AppHttpControllersController;   class UsersController extends BaseController {     public function index()   {     return User::all();   }     public function show($id)   {     $user = User::findOrFail($id);     // 數組形式     return $this->response->array($user->toArray());   } }

隨后在app/Http/Controllers/Auth/下創建PasswordGrantVerifier.php內容如下

namespace AppHttpControllersAuth; use IlluminateSupportFacadesAuth;   class PasswordGrantVerifier {   public function verify($username, $password)   {      $credentials = [       'email'  => $username,       'password' => $password,      ];        if (Auth::once($credentials)) {        return Auth::user()->id;      }        return false;   } }

打開數據庫的oauth_client表新增一條client數據

INSERT INTO 'oauth_clients' ('id', 'secret', 'name', 'created_at', 'updated_at') VALUES ('1', '2', 'Main website', '2016–03–13 23:00:00', '0000–00–00 00:00:00');

隨后的就是去愉快的測試了,這里要測試的API有

新增一個用戶

http://localhost/register

讀取所有用戶信息

http://localhost/api/users

只返回用戶id為4的信息

http://localhost/api/users/4

獲取access_token

http://localhost/oauth/access_token

利用token值獲得時間,token值正確才能返回正確值

http://localhost/api/time

打開PostMan

基于laravel制作API接口

基于laravel制作API接口

基于laravel制作API接口

基于laravel制作API接口


贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
五月婷婷激情久久| 欧美牲交a欧美牲交aⅴ免费真| 久久久噜噜噜www成人网| 免费成人进口网站| 欧美激情第一区| 五月天开心婷婷| 亚洲欧美一区二区三区不卡| 中文av字幕在线观看| 伊人五月天婷婷| 国产精品亚洲天堂| 四虎永久免费网站| 国产精品久久久久7777| 奇米精品一区二区三区| 欧美自拍小视频| 日本高清一区二区视频| 一区二区三区日韩视频| 成人一级生活片| 99热成人精品热久久66| 中文字幕国产高清| av网站大全免费| 日本新janpanese乱熟| 亚洲一二区在线观看| 91国在线高清视频| 欧美私人情侣网站| 波多野结衣在线免费观看| 久久综合久久网| 中文字幕天天干| 激情成人开心网| 杨幂毛片午夜性生毛片 | 强开小嫩苞一区二区三区网站| 欧美中日韩在线| 中文字幕天天干| 成人免费观看在线| 手机免费av片| 欧洲av无码放荡人妇网站| 亚洲最新免费视频| 蜜臀久久99精品久久久酒店新书| 在线观看成人免费| 冲田杏梨av在线| 丰满少妇久久久| √天堂资源在线| 免费日韩中文字幕| 久久国产精品视频在线观看| 国产无遮挡猛进猛出免费软件 | 国产片侵犯亲女视频播放| 欧美午夜aaaaaa免费视频| 91专区在线观看| 欧美国产视频一区| 国内av免费观看| www.日本久久| 国产传媒免费观看| 久久久久久久久久久久91| 久久久久免费看黄a片app| 喜爱夜蒲2在线| 91亚洲一区二区| 日韩欧美亚洲另类| www.精品在线| 国产一级特黄a大片免费| 最近免费中文字幕中文高清百度| 国产精品成人久久电影| 精品人妻大屁股白浆无码| 五月天综合婷婷| 欧美一级特黄aaaaaa在线看片| 午夜一区二区视频| 999热精品视频| 色爽爽爽爽爽爽爽爽| 青青视频免费在线观看| 超薄肉色丝袜足j调教99| www.18av.com| 毛片在线播放视频| 国产精品宾馆在线精品酒店| 国产美女无遮挡网站| 北条麻妃av高潮尖叫在线观看| 国产精品沙发午睡系列| 日韩手机在线观看视频| 色国产在线视频| 天天做天天爱天天高潮| 国产成人生活片| 久久国产乱子伦免费精品| 人人干人人干人人| 国产精品久久成人免费观看| 黄色成人在线免费观看| 欧美国产亚洲一区| 亚洲狼人综合干| 久久久久久久久影视| aa在线观看视频| 中文字幕66页| 大西瓜av在线| 日日躁夜夜躁aaaabbbb| 日日噜噜夜夜狠狠久久丁香五月| 每日在线观看av| 美女网站色免费| 成人午夜视频在线观看免费| 人妻无码视频一区二区三区| 亚洲第一综合网站| 18禁免费无码无遮挡不卡网站 | 97在线国产视频| 国产 porn| 青青草成人免费在线视频| 天天爽人人爽夜夜爽| 国产精品三级一区二区| 九九热精品在线播放| 国产精品第157页| 亚洲午夜激情影院| 欧美 日本 亚洲| 影音先锋男人的网站| 亚洲成熟丰满熟妇高潮xxxxx| 警花观音坐莲激情销魂小说| 国产综合免费视频| 丰满少妇久久久| 亚洲精品国产suv一区88| 污视频网址在线观看| 欧美一区二区三区爽大粗免费| 香蕉视频xxxx| 艹b视频在线观看| 国产视频一区二区三区在线播放 | 黄页网站大全在线观看| 亚洲天堂第一区| 免费观看黄色的网站| 麻豆一区二区三区视频| 国产欧美高清在线| 激情综合在线观看| 99精品在线免费视频| 超碰成人免费在线| av网站手机在线观看| 成人在线国产视频| 福利视频免费在线观看| 精品国产一区二区三区无码| 免费看污污视频| 粉嫩av一区二区三区天美传媒| 国产精品夜夜夜爽张柏芝| 国产欧美精品一二三| 国产无遮挡猛进猛出免费软件 | 国产女同无遮挡互慰高潮91| 欧美午夜aaaaaa免费视频| 日本黄大片一区二区三区| 97超碰成人在线| 久久久久xxxx| 欧美 国产 精品| 成人性生活视频免费看| 国产免费黄色av| 天天操,天天操| 在线a免费观看| 国产毛片久久久久久国产毛片| 777av视频| 天天操天天摸天天爽| 又色又爽又黄视频| www成人免费| 粗暴91大变态调教| 久久精品久久99| 人妻夜夜添夜夜无码av| 欧美精品99久久| 手机av在线免费| 国产a级片网站| 黄色小视频免费网站| 污污污污污污www网站免费| 日本免费一级视频| 午夜激情视频网| 国产aaa一级片| 黄色高清视频网站| 无码aⅴ精品一区二区三区浪潮| 一区二区三区韩国| 成人一级生活片| 日韩精品视频一二三| 久久国产精品视频在线观看| 黄大色黄女片18第一次| 国产肉体ⅹxxx137大胆| 亚洲男人天堂色| 亚洲熟妇无码一区二区三区导航| 99视频在线视频| 18禁免费观看网站| 国产一二三四五| 三级视频中文字幕| 日韩av在线第一页| 国产一区一区三区| 日韩一级理论片| 国产男女无遮挡| av在线免费观看国产| 中文字幕视频三区| 999在线免费视频| 国产午夜大地久久| 国产91沈先生在线播放| 国产一级片中文字幕| www.这里只有精品| www.天天射.com| 一本色道无码道dvd在线观看| 国产91porn| 在线观看成人免费| 好色先生视频污| av不卡在线免费观看| 亚洲精品乱码久久久久久动漫| 国产原创精品在线| 最新中文字幕2018| 亚洲一区在线不卡| 在线免费观看视频黄| 在线观看的毛片| 午夜视频在线网站| 日本一本在线视频| 久久久久久久久久久久久国产| 日本精品福利视频|