- Copyright: Xpreso Software Ltd. 2017
- Author: Pablo Santiago Sanchez
- License: Apache 2.0
- Current Stage: POC (Proof Of Concept). Versioning will be kept as 0.1.* until first roadmap is completed.
- Plots all the available API (routes) as a Swagger 2.0 description.
-
Use same Laravel's phpunit binary for that on the component folder:
../../phpunit
- Recursive plot of definitions
- Write tests based on the Swagger Pet Store example
- Add responses 500 based on thrown exceptions by the controller
- Allow the frontend to compare and validate the contract it has with the actual API contract from the backend
- Make API testing easier by creating automatic input and checking the supposed output from the contract
- Allow check how much of the API is already completed when comparing to the defined contract.
- Make it easier to keep the contract updated with the actual backend API.
[...]
"require-dev" : {
[...]
"xpreso/xpr-swagger": "dev-master"
},
"repositories" : [{
"type" : "vcs",
"url" : "https://github.com/XpresoTeam/xpr-swagger.git";
"no-api" : true
}],
[...]
Add the XprSwagger\XprModuleProvider to it.
Just point to /swagger.yml in your application (ex: http://localhost:8000/swagger.yml).
ATTENTION! FOR PRODUCTION ENVIRONMENT, DUMP THE SWAGGER FILE TO YOUR PUBLIC FOLDER!
php artisan xpreso:swagger:routes public/swagger.yml