使用 Laravel 快速開發API接口,新手必讀

這篇文章僅爲如何使用Laravel 5框架編寫API,這是其中一種,如下使用的Laravel版本爲5.4。php









建立項目

在本身的環境目錄上使用composer安裝laravel項目laravel

composer create-project laravel/laravel=5.4.* laravel-api --prefer-distgit


  • create-project  是使用 Composer 從現有的包中建立一個新的項目。這至關於執行了一個 git clone 或 svn checkout 命令後將這個包的依賴安裝到它本身的 vendor 目錄。
  • laravel/laravel=5.4.* 表示要安裝laravel看框架,並指定爲5.4以上的版本
  • laravel-api 是指定要安裝的目錄,好比想要安裝到 blog 目錄的話,那麼能夠把這一段替換成 blog
  • --prefer-dist 下載包的方式有兩種:source 和 dist。對於穩定版本 composer 將默認使用 dist 方式。而 source 表示版本控制源 。 --prefer-dist 表示composer 將盡量的從 dist 獲取,這將大幅度的加快在 build servers 上的安裝。
composer建立Laravel項目


建立數據庫和數據表

  • 新建數據庫 laravel-apiweb

  • 更新數據庫配置
    修改項目根目錄的
    .env 文件(這個文件在Laravel安裝好以後會自動生成,若是沒有生成,請複製根目錄的 .env.example 文件複製一份並重命名爲 .env。後面有些laravel基礎部分,在官方文檔裏有的將再也不復述,請直接去官方文檔查看)。數據庫

新建用戶表json


建立 users api


CREATETABLE`users`(
 
`id`int(11) unsigned NOTNULLAUTO_INCREMENT,
 
`name`varchar(255)CHARACTERSET utf8 DEFAULTNULLCOMMENT'用戶名',
 
`phone`varchar(20)CHARACTERSET utf8 NOTNULLDEFAULT''COMMENT'手機號碼',
 
`created_at` timestamp NULLDEFAULTNULLCOMMENT'建立時間',
 
`updated_at` timestamp NULLDEFAULTNULLONUPDATECURRENT_TIMESTAMPCOMMENT'更新時間',
 
PRIMARYKEY(`id`)微信

)ENGINE=InnoDB DEFAULTCHARSET=utf8mb4 COMMENT='用戶表';app


在 app\Models 新建 users 表模型composer


php artisan make:model Models/User

app\Models\User.php


建立控制器

php artisan make:cotroller UserController


app\Http\Controllers\UserController.php

新增 getUser()方法用來獲取用戶信息  UserController 


<?php

namespace App\Http\Controllers;

use App\User;

use Illuminate\Http\Request;


class UserController extends Controller{

   
public function getUser ($id) {
       
$user = User::find($id);
       
return response()->json($user);
   
}

}


API路由

若是仔細看根目錄下的 routes 即路由目錄,就會發現有4個php文件,其中 web.php 是訪問web頁面時的路由,而 api.php 則是訪問API時的路由。
下面咱們給
UserController getUser() 方法寫一個路由吧!

routes\api.php

<?php

use Illuminate\Http\Request;


Route::post('/user/{id}','UserController@getUser');


訪問API

那麼如今開始訪問寫好的這個API吧
訪問Laravel的API路由,是須要在域名後面加上api,與web路由不一樣

http://xxxxx.com/api/user/1

        
          
  
         
         
          
          
                   
          
  
         
            
              
      
             
             
              
              
                       
              
      
             

看完本文有收穫?點贊、分享是最大的支持!


本文分享自微信公衆號 - Laravel技術社區(Laravel360)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索