Check out Multidoc viewer
Did you say Laravel?
Just manual-functional testing for now provided in folder demo_files
by running index.php
and check the output
- Define mandatory and optional parameters by adding demo files
- Validate route params
- If FILE and JSON or named POST variables present throw error (only 1 of them)
- Parameter type validation (from list:uri,post, get)
- GET cannot have JSON and FILE
- Route validation: I. If parameter present in route check if it exists in list II. If parameter present check if uri
- Parses
*.yaml
files and generates a flat document containing the application's documentation
-
No filename convention required
-
You can organize however you want
-
A sugestion would be to have multiple files:
_project.yaml
- Project description_categories.yaml
- Menu items and sub-itemsuser_route.yaml
- Route exampleanother_route.yaml
- Route example
-
Project
- File name
_my_awesome_project.yaml
- File name
project:
name: My Awesome project
version: 1
description: Some awesome description
environments:
default: https://wwww.myproductionurl.com
preprod: https://www.mypreproductionurl.com
- Categories
- File name
_my_awesome_categories.yaml
- File name
categories:
cat1:
name: Cat 1
categories:
cat2:
name: Cat 2
cat3:
name: Cat 3
cat4:
name: Cat 4
- Route example
- File name
user_route.yaml
- File name
route:
name: Some route 1
description: Some desc 1
tags: [tag1, tag2, tag3, tag4, tag5]
category: cat1
request:
url: '{{environment}}/[:typeEntity][/:page]/comments'
method: GET
params:
- name: typeEntity
type: uri
data_type: string
description: Some desc
optional: false
example: posts
- name: page
type: uri
data_type: int
description: Some desc
optional: true
example: 1
- Multiple routes example
- File name
some_routes.yaml
- File name
route_list:
- name: Some route 2
description: Some desc 2
tags: [tag1, tag2, tag3, tag4, tag 5]
category: cat1
request:
url: '{{environment}}/[:typeEntity][/:page]/comments'
method: GET
params:
- name: typeEntity
type: uri
data_type: string
description: Some desc
optional: false
example: posts
- name: page
type: uri
data_type: int
description: Some desc
optional: true
example: 1
- name: Some route 3
description: Some desc 3
request:
url: '{{environment}}/users/2/comments'
method: GET
tags: [tag3, tag4]
category: cat2
- name: Some route 4
description: Some desc 4
tags: [tag3, tag4]
category: cat2
request:
url: '{{environment}}/[:typeEntity][/:page]/comments'
method: GET
params:
- name: typeEntity
type: uri
data_type: string
description: Some desc
optional: false
example: posts
possible_values: [posts,test]