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++類。這個類有著非常強的擴充套件性,使用也是極其方便,很適合二次開發。 先看一張實現的效果圖吧: 其中的背景音樂,遊戲圖