euskadi31 / rest-service-provider
Silex 2.0 的 Rest 服务提供者
v1.2.9
2015-10-21 16:58 UTC
Requires
- silex/silex: ~2.0@dev
- symfony/debug: ~2.7
Requires (Dev)
- leaphub/phpcs-symfony2-standard: ~2.0.1
- phpunit/phpunit: ^4.7
- satooshi/php-coveralls: dev-master
README
为 Silex 2.0 添加一些 REST 功能,以便您更容易构建 RESTful API。
安装
将 euskadi31/rest-service-provider
添加到您的 composer.json
% php composer.phar require euskadi31/rest-service-provider:~1.2
用法
配置
<?php $app = new Silex\Application; $app->register(new \Euskadi31\Silex\Provider\RestServiceProvider);
字段过滤器
<?php $app = new Silex\Application; $app->register(new \Euskadi31\Silex\Provider\RestServiceProvider); $app->get('/users', function() { return $this->json([ [ 'id' => 1, 'username' => 'John', 'email' => 'john@example.com', 'enabled' => true ], [ 'id' => 2, 'username' => 'Jean', 'email' => 'jean@example.com', 'enabled' => true ] ]); });
请求
GET /users?fields=username
响应
[ { "id": 1, "username": "John" }, { "id": 2, "username": "Jean" } ]
Jsonp 响应
<?php $app = new Silex\Application; $app->register(new \Euskadi31\Silex\Provider\RestServiceProvider); $app->get('/users', function() { return $this->json([ [ 'id' => 1, 'username' => 'John', 'email' => 'john@example.com', 'enabled' => true ], [ 'id' => 2, 'username' => 'Jean', 'email' => 'jean@example.com', 'enabled' => true ] ]); });
请求
GET /users?callback=Acme.process
响应
/**/Acme.process([ { "id": 1, "username": "John", "email": "john@example.com", "enabled": true }, { "id": 2, "username": "Jean", "email": "jean@example.com", "enabled": true } ]);
美化打印响应
<?php $app = new Silex\Application; $app->register(new \Euskadi31\Silex\Provider\RestServiceProvider); $app->get('/users', function() { return $this->json([ [ 'id' => 1, 'username' => 'John', 'email' => 'john@example.com', 'enabled' => true ], [ 'id' => 2, 'username' => 'Jean', 'email' => 'jean@example.com', 'enabled' => true ] ]); });
请求
GET /users?pretty=0
响应
[{"id":1,"username":"John","email":"john@example.com","enabled":true},{"id":2,"username":"Jean","email":"jean@example.com","enabled":true}]
错误响应
{ "error": { "message": "No route found for \u0022GET \/me1\u0022", "type": "NotFoundHttpException", "code": 404 } }
许可证
RestServiceProvider 根据 MIT 许可证 许可。