dingo / blueprint
API Blueprint documentation generator.
Installs: 7 222 749
Dependents: 24
Suggesters: 2
Security: 0
Stars: 271
Watchers: 18
Forks: 108
Open Issues: 20
Requires
- php: ^8.0
- doctrine/annotations: ~1.2 | ^2.0
- illuminate/filesystem: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
- phpdocumentor/reflection-docblock: ^3.1 || ^4.1 || ^5
Requires (Dev)
- phpunit/phpunit: ^6.5|^8.3|^9.0|^10.0
- squizlabs/php_codesniffer: ~2.0
README
This package generates a valid API Blueprint 1A document from a collection of classes.
Usage
Some index method phpdoc example:
<?php /** * Products * * @Resource("Products", uri="/products") */ class ProductsController extends ApiController { /** * Products list * * Get current products list * * @Get("/") * @Versions({"v1"}) * @Transaction({ * @Request(identifier="/?state=synced"), * @Response(200, body={"data":{{"id":"rkoVJ7qa4Z6lzXdVnldgx9LmpBP0DQ3e","name":"Product name","status":"active"}},"meta":{"pagination":{"total":1,"count":1,"per_page":1,"current_page":1,"total_pages":1,"links":{}}}}) * }) * @Parameters({ * @Parameter("api_token", type="string", required=true, description="API Token", default=null), * @Parameter("page", type="integer", required=false, description="Pagination page", default=1), * @Parameter("state", type="string", required=false, description="Product status filter", default="synced", members={ * @Member(value="synced", description="Products synced"), * @Member(value="pending", description="Products pending") * }) * }) */ public function index(Request $request) {} }
License
This package is licensed under the BSD 3-Clause license.