dingo php,用laravel dingo/api创建简单的api
這篇文章主要介紹了關(guān)于用laravel dingo/api創(chuàng)建簡單的api,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下
1,修改.env配置文件添加API_STANDARDS_TREE=vnd
API_SUBTYPE=myapp
API_PREFIX=api
API_DOMAIN=null
API_VERSION=v1
API_NAME="My API"
API_CONDITIONAL_REQUEST=false
API_STRICT=false
API_DEBUG=true
Standards Tree 標(biāo)準(zhǔn)樹
這有三個不同的樹: x,prs 和 vnd。你使用的標(biāo)準(zhǔn)樹需要取決于你開發(fā)的項目
未注冊的樹(x)主要表示本地和私有環(huán)境
私有樹(prs)主要表示沒有商業(yè)發(fā)布的項目
供應(yīng)商樹(vnd)主要表示公開發(fā)布的項目
子類型SUBTYPE
子類型通常是應(yīng)用程序或項目的短名稱,都是小寫的。
前綴PREFIX(比如www.z5w.net/api/)
如果你曾經(jīng)使用過 API 你就會知道大多數(shù)服務(wù)都來自子域或前綴。前綴或子域是必須的,但只需要一個。請避免使用版本號作為你的前綴或子域,因為版本控制是通過 header 頭 Accept 處理的。
子域名API_DOMAIN
比如可以用api.z5w.net來做api的調(diào)用地址。如果已經(jīng)設(shè)置了前綴prefix,則domain一般設(shè)為null
版本號version
這個版本號是你的 API 的默認(rèn)版本號,并且會在一些未提供版本號的情況下作為回調(diào)的默認(rèn)值使用。在生成 API 文檔時也會使用這個版本號作為默認(rèn)值。
名稱Name
你的 API 的名稱只會在你使用 API Blueprint 命令生成文檔的時候使用。使用此名稱可以避免你每次生成文檔的時候都必須手動定義名稱。
你可能需要把它用引號包起來。
條件請求CONDITIONAL_REQUEST
『條件請求』默認(rèn)為開啟狀態(tài),這有利于客戶端的緩存機制在可能的情況下緩存 API 請求。
嚴(yán)格模式STRICT
嚴(yán)格模式要求客戶端發(fā)送 Accept 頭,代替配置文件中配置的默認(rèn)版本。這意味著你將不能通過瀏覽器直接訪問你的 API。
如果開啟嚴(yán)格模式,發(fā)送非法的 Acceept 標(biāo)頭會拋出一個未處理的異常 Symfony\Component\HttpKernel\Exception\BadRequestHttpException ,你需要自己處理這個異常。
調(diào)試模式Debug
該包處理的通用錯誤包括一個 debug 鍵,當(dāng)啟用這個鍵時,將會填充堆棧跟蹤詳細信息。
2,在/routes/web.php添加路由$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->get('helloworld', 'App\Api\Controllers\HelloController@index');
});
3,創(chuàng)建文件/app/Api/Controllers/HelloController.php<?php
namespace 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,如果出現(xiàn)+-----+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
| 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,看看是不是出現(xiàn)了api的json數(shù)據(jù)呢?{content:Helloworld!}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)!
相關(guān)推薦:
總結(jié)
以上是生活随笔為你收集整理的dingo php,用laravel dingo/api创建简单的api的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c matlab 混合编程 调试,64
- 下一篇: php跳转隐藏url参数,.htacce