vjeantet/silex-simple-rest-swagger
此包已废弃,不再维护。没有建议替代包。
一个简单的silex骨架,用于rest api和swagger文档
v3.0.1
2014-06-02 20:42 UTC
Requires
- php: >=5.4.0
- doctrine/dbal: ~2.4
- jdesrosiers/silex-swagger-provider: ~1.0
- monolog/monolog: ~1.6
- nesbot/carbon: ~1.6
- silex/silex: ~1.1
- twig/twig: ~1.14
- zircote/swagger-php: ~0.9
Requires (Dev)
- mockery/mockery: ~0.8.0
- phpunit/phpunit: ~3.7
README
这是一个简单的silex骨架应用,用于编写RESTful API。基于来自Alessandro Arnodo的silex-simple-rest github仓库。silex-simple-rest-swagger是一个分支,增加了自动生成的swagger REST API文档。
该项目希望成为一个起点,用于使用Silex PHP微框架编写可扩展和可维护的REST API。
持续集成由Travis-CI提供。
####如何运行?从该文件夹运行以下命令来安装php和bower依赖项,导入一些数据,并运行本地php服务器。
您至少需要带有启用SQLite扩展的php 5.4.*和Composer
composer install
sqlite3 app.db < resources/sql/schema.sql
php -S 0:9001 -t web/
您也可以将项目作为composer项目安装
composer create-project vjeantet/silex-simple-rest-swagger
您的API现在可在https://:9001/api/v1找到。
您可以通过访问https://:9001/swagger-ui//来可视化API文档。
- 您的swagger规范(json)可在https://:9001/api/api-docs找到。
####运行测试一些测试已被编写,并且所有CRUD操作都已完全测试。
从根文件夹运行以下命令以运行测试。
vendor/bin/phpunit
####您将获得API将响应
GET -> https://:9001/api/v1/notes
POST -> https://:9001/api/v1/notes
POST -> https://:9001/api/v1/notes/{id}
DELETE -> https://:9001/api/v1/notes/{id}
您的请求应该包含'Content-Type: application/json'头部。您的API默认支持CORS,因此它能够进行跨域通信。
尝试使用curl
#GET
curl https://:9001/api/v1/notes -H 'Content-Type: application/json' -w "\n"
#POST (insert)
curl -X POST https://:9001/api/v1/notes -d '{"note":"Hello World!"}' -H 'Content-Type: application/json' -w "\n"
#POST (update)
curl -X POST https://:9001/api/v1/notes/1 -d '{"note":"Uhauuuuuuu!"}' -H 'Content-Type: application/json' -w "\n"
#DELETE
curl -X DELETE https://:9001/api/v1/notes/1 -H 'Content-Type: application/json' -w "\n"
####内部结构查看源代码,它很容易理解。更多文档和代码信息将很快提供。
在资源文件夹下您可以找到一个.htaccess文件,用于将API部署到生产环境。
####贡献
请随意贡献,分支,pull request,开发。谢谢!
####作者
许可协议
查看LICENSE文件。