用laravel dingo/api建立簡單的api

來源:互聯網
上載者:User
這篇文章主要介紹了關於用laravel dingo/api建立簡單的api,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

1,修改.env設定檔添加

API_STANDARDS_TREE=vnd API_SUBTYPE=myappAPI_PREFIX=apiAPI_DOMAIN=nullAPI_VERSION=v1API_NAME="My API"API_CONDITIONAL_REQUEST=falseAPI_STRICT=falseAPI_DEBUG=true

Standards Tree 標準樹

這有三個不同的樹: x,prs 和 vnd。你使用的標準樹需要取決於你開發的項目

未註冊的樹(x)主要表示本地和私人環境

私人樹(prs)主要表示沒有商業發布的項目

供應商樹(vnd)主要表示公開發布的項目 

子類型SUBTYPE

子類型通常是應用程式或項目的簡短名稱,都是小寫。

首碼PREFIX (比如www.z5w.net/api/)

如果你曾經使用過 API 你就會知道大多數服務都來自子域或首碼。首碼或子域是必須的,但只需要一個。請避免使用版本號碼作為你的首碼或子域,因為版本控制是通過 header 頭 Accept 處理的。

子網域名稱API_DOMAIN

比如可以用api.z5w.net來做api的調用地址。如果已經設定了首碼prefix,則domain一般設為null

版本號碼version

這個版本號碼是你的 API 的預設版本號碼,並且會在一些未提供版本號碼的情況下作為回調的預設值使用。在產生 API 文檔時也會使用這個版本號碼作為預設值。

名稱Name

你的 API 的名稱只會在你使用 API Blueprint 命令產生文檔的時候使用。使用此名稱可以避免你每次產生文檔的時候都必須手動定義名稱。
你可能需要把它用引號包起來。

條件請求CONDITIONAL_REQUEST

『條件請求』預設為開啟狀態,這有利於用戶端的緩衝機制在可能的情況下緩衝 API 請求。

strict 模式STRICT

strict 模式要求用戶端發送 Accept 頭,代替設定檔中配置的預設版本。這意味著你將不能通過瀏覽器直接存取你的 API。

如果開啟strict 模式,發送非法的 Acceept 標題會拋出一個未處理的異常 Symfony\Component\HttpKernel\Exception\BadRequestHttpException ,你需要自己處理這個異常。

偵錯模式Debug

該包處理的通用錯誤包括一個 debug 鍵,當啟用這個鍵時,將會填充堆疊追蹤詳細資料。

2,在/routes/web.php添加路由

$api = app('Dingo\Api\Routing\Router');$api->version('v1', function ($api) {    $api->get('helloworld', 'App\Api\Controllers\HelloController@index');});

  3,建立檔案/app/Api/Controllers/HelloController.php

<?phpnamespace App\Api\Controllers;use Illuminate\Http\Request;use App\Http\Controllers\Controller;class HelloController extends Controller{    public function index()    {        return '{content:Helloworld!}';    }}

  4,測試路由: $ php artisan api:routes,如果出現

+-----+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+| Host | Method   | URI             | Name | Action                                    | Protected | Version(s) | Scope(s) | Rate Limit |+------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+|      | GET|HEAD | /api/helloworld |      | App\Api\Controllers\HelloController@index | No        | v1         |          |            |+------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+

  表示成功

  然後訪問http://www.*.com/api/helloworld,看看是不是出現了api的json資料呢?

{content:Helloworld!}

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.