1. 程式人生 > >laravel 開發RestFul介面【一、整合三方擴充套件

laravel 開發RestFul介面【一、整合三方擴充套件

1、在laravel的根目錄的composer.json 檔案中引入

 "dingo/api": "1.0.*@dev"

這裡寫圖片描述
2、更新 composer執行

composer update 

3.註冊服務提供者
在config/app.php註冊到 providers 陣列:

   Dingo\Api\Provider\LaravelServiceProvider::class,

4.生成dingo/api 的配置檔案

php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider
"

這時在config 的目錄下會出現一個api 的檔案
開啟裡面的檔案 你會發現裡面的配置都是使用env函式進行讀取的
所以相關的所有配置你都可以寫在.env 檔案中進行配置
一下常規的配置

API_STANDARDS_TREE=vnd // 環境
API_SUBTYPE=myapp // 子型別
API_PREFIX=api // 字首
API_DOMAIN=api.myapp.com //子域名 (字首和子域名只能存在一個)
API_VERSION=v1 // 版本
API_NAME=My API // 名字(使用API Blueprint命令才會用到)
API_CONDITIONAL_REQUEST=false
// 帶條件的請求 API_STRICT=false // Strict模式 API_DEFAULT_FORMAT=json // 響應格式 API_DEBUG=true // 除錯模式

到這裡dingo 算是完成
執行artisan 命令建立一個測試的類
這裡有點需注意 執行artsian 命令會報錯:

[Dotenv\Exception\InvalidFileException]
  Dotenv values containing spaces must be surrounded by quotes.

其實已經說的很清楚了 配置檔案中有空格的配置項必須加上引號

API_NAME=My API // 名字(使用API Blueprint命令才會用到)


哈哈這裡my api 改成 “my api” 就行了
4、建立路由

//接管路由··
$api = app('Dingo\Api\Routing\Router');

// 配置api版本和路由
$api->version('v1', ['namespace' => 'App\Http\Controllers\Api\V1\Controller'], function ($api) {
    $api->get("test/{id}/{name}", '[email protected]')->name("getinfo");

});

使用php artisan api:routes 檢視路由表 如果有就是建立成功了

5、建立測試類

php artisan make:controller Api/V1/Controller/RestFulController
<?php

namespace App\Http\Controllers\Api\V1\Controller;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Dingo\Api\Routing\Helpers;
class RestFulController extends Controller
{
    use Helpers;

    public function test(Request $request){
        $id = $request->id;
       return $this->response->array(['id'=>$id,'name'=>"test","passwd"=>"123456"]);
    }
}

6、使用postman 測試
這裡寫圖片描述
這裡就已經一個簡單reseful 的介面了
下面是dingo/api 的詳細教程—-遇到問題首先去看文件

https://github.com/liyu001989/dingo-api-wiki-zh

相關推薦

laravel 開發RestFul介面整合三方擴充套件

1、在laravel的根目錄的composer.json 檔案中引入 "dingo/api": "1.0.*@dev" 2、更新 composer執行 composer update 3.註冊服務提供者 在config/app.php註冊到

Spring整合cxf搭建webservice服務端】

1、匯入jar包(普通web專案) 引入依賴(maven專案) <!-- webservice依賴框架CXF --> <dependency> <groupId>org.apache.cxf</groupId>

ionic+cordova混合開發app環境搭建】

APP開發採用ionic進行開發,ionic官網http://ionicframework.com/docs/。 開發軟體採用Visual Studio,安裝包百度下載即可。 版本 ionic 3.9.2 node v8.12.0 cordova 6.5.0 1、node簡介: 1)Nod

Python3從零開始爬取今日頭條的新聞開發環境搭建】

首先,安裝好我們爬網所需的開發環境,我的開發環境如下: win7 x64中文版 本系列演示過程所用到的python環境以及第三方庫: python 3.6.5 Anaconda預安裝 sele

Leetcode陣列專題(1)easy】

【陣列專題】 難度:easy 【第一題】 Two Sum(NO.1) Given an array of integers, return indices of the two numbers such that they add u

Arduino】開發入門教程】什麼是Arduino

讓您可以快速使用Arduino與Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider等軟體結合,作出互動作品。 Arduino可以使用現有的電子元件例如開關或者感測器或者其他控制器件、LED、步進馬達或其他輸出裝置。 Arduino也

Flutter 完整開發實戰詳解(Dart 語言和 Flutter 基礎)

前言 在如今的 Fultter 大潮下,本系列是讓你看完會安心的文章。本系列將完整講述:如何快速從0開發一個完整的 Flutter APP,配套高完成度 Flutter 開源專案 GSYGithubAppFlutter。同時也會提供一些 Flutter 的開發

Javaweb開發瞭解前端知識html&&css

01-html和CSS1、html2、CSS1、B/S 軟體的結構 2、前端的開發流程 3、網頁的組成部分頁面由三部分內容組成!分別是內容(結構)、表現、行為。內容(結構),是我們在頁面中可以看到的資料。我們稱之為內容。一般內容 我們使用html技術來展示。表現,指的是這些內

nuxt 安裝】

首先,在使用npm前你需要安裝Node到系統中然後,按照下面的步驟進行安裝1.用npm來安裝vue-cli這個框架,如果你已經安裝過了,可以省略這步。npm install vue-cli -g根據你的網路環境不同,安裝的速度不同,如果你的網路環境實在不好,可以考慮使用cnp

後臺開發知識點總結(Linux和OS)

  偶然在知乎上看到想要從事linux後臺開發需要的能力集錦,總結的挺全面的,鑑於自己貧弱的記憶力,還是在這裡總結一下供以後檢視,順便檢驗一下自己。   1、 命令:netstat tcpdump ipcs ipcrm 這四個命令的熟練掌握程度基本上能體現實際開發和除錯程式的

[APP介面] -- PHP開發APP介面

原文連結: http://www.cnblogs.com/xp796/p/5347374.html php以json或者xml 形式返回給app。明白這點就很好說了,就是把資料包裝成json或者xml,返回給APP 定義抽象APP基類: <?php /**

cocos2d-js官方文檔】搭建 Cocos2d-JS 開發環境

tin oca ins index com 前沿 雙擊 指定 轉載 在本文中,我將展示如何在 Mac os 10.9(Maverics) 上搭建 Cocos2d-JS 開發環境。 下載必備的軟件包 下載並安裝WebStorm7。WebStorm7目前的穩定版本是7.0.

用django2.0來開發】 環境部署和初始化項目

text pro use name 支持 art 簡易 發布 server 一、【用django2.0來開發】 環境部署和初始化項目 發現網上沒有什麽比較好的django系列的教程, 所以打算寫一整套教程來教會大家如何使用django2.0 整個教程都會圍繞一個開發一個項目

springboot整合mycat入門】安裝mycat

mycat作為開源資料庫分庫分表中介軟體可謂大名鼎鼎,社群活躍度也很高,不知道mycat是什麼的小夥伴可以點選下面的傳送門到官網進行了解 博主用的是centos7作為測試環境,下面廢話不多說,直接講解安裝過程 1、我是在官網上下載壓縮包進行安裝的,小夥伴也可以使用命令

cocos2d-js官方文件】搭建 Cocos2d-JS 開發環境

在本文中,我將展示如何在 Mac os 10.9(Maverics) 上搭建 Cocos2d-JS 開發環境。 下載必備的軟體包 下載並安裝WebStorm7。WebStorm7目前的穩定版本是7.0.3。為什麼我們選擇WebStorm?因為它提供了許多功能,如Jav

FFMpeg視訊開發與應用基礎】使用FFmpeg命令列工具和批處理指令碼進行簡單的音視訊檔案編輯

《FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK》視訊教程已經在“CSDN學院”上線,視訊中包含了從0開始逐行程式碼實現FFMpeg視訊開發的過程,歡迎觀看!連結地址:FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK

Java】繼承介面抽象類多型之間的關係和區別

時間對於一個追夢的人來說就是黃金,沒有什麼能阻擋前行的腳步。--致所有和我一樣追逐明天太陽的人介面的理解:介面是對動作的抽象說動作還不如說功能   抽象類理解:抽象類是對根源的抽象  多型的理解:類載入執行時父類的引用指向子類的物件 抽象大小關係:介面>抽象類先通過一個

微信】微信開發環境

微信開發     目前微信的使用者群體越來越龐大, 包含了各種職業,各種年齡,各種層次。通過微信平臺,可以實現線上購買,線上支付等等 操作,目前很多企業和個人也已經開拓了自己的微信公眾號平臺。     微信公眾號實現起來也比較簡單,包括自定義回覆和開發者模式。相對於開發者來

ReactJS】手把手搭建ReactJS開發環境(Sublime)

React的介紹我就不多說了,總之最近很火。 最近打算學一下react(其實是預謀已久),所以對於我這個高度強迫症患者來說,開發環境是我第一步要解決的事情。 這裡我以Sublime作為編輯器。 為什麼選擇sublime?因為他外掛太多了。。所以資源很豐富,恰好也有對Reac

Visual C++】遊戲開發五十六 淺墨DirectX教程二十三 打造遊戲GUI介面

眾所周知,GUI是遊戲中不可缺少的元素,這篇文章中,我們首先了解了遊戲GUI介面的知識與相關概念,然後一起設計了一個封裝好GUI圖形介面的C++類。這個類有著非常強的擴充套件性,使用也是極其方便,很適合二次開發。 先看一張實現的效果圖吧: 其中的背景音樂,遊戲圖