devfactory / api
RESTful API 包
1.0.5
2016-03-09 09:56 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
- soapbox/laravel-formatter: 2.0
Requires (Dev)
- mockery/mockery: 0.7.2
README
为 Laravel 4.2 创建 API 的辅助工具
此模块处理 json
和 xml
作为响应
##如何设置
更新 composer.json
文件
{ "require": { "devfactory/api": "1.0.*" } }
并在终端运行 composer update
以下载文件。
更新 app.php
文件,位于 app/config
目录下
'providers' => array( 'Devfactory\Api\ApiServiceProvider', ),
alias => array( 'API' => 'Devfactory\Api\Facades\ApiFacade', ),
##配置
php artisan config:publish devfactory/api
##如何在路由中使用 API
参数 {format}
不是必须的
Route::group(array('prefix' => 'v1'), function() { Route::get('foo.{format}', 'ApiV1\FooController@foo'); Route::post('bar.{format}', 'ApiV1\FooController@bar'); }); Route::group(array('prefix' => '{format}/v1'), function() { Route::get('foo', 'ApiV1\FooController@foo'); Route::post('bar', 'ApiV1\FooController@bar'); });
在你的控制器中,你可以使用
return Response::api(array("foo" => "bar"), 404); return Response::api(array("ok"));
或
return API::createResponse(array("foo" => "bar"), 404); return API::createResponse(array("ok"));
##要调用你的服务,你可以使用 Facade
API::get('v1/foo.json', array('foo' => 'bar')); API::post('v1/bar.xml', array('foo' => 'bar')); API::put('v1/bar.xml', array('foo' => 'bar'));