Skip to content

Instantly share code, notes, and snippets.

@zircote
Created November 5, 2012 12:01
Show Gist options
  • Save zircote/4016867 to your computer and use it in GitHub Desktop.
Save zircote/4016867 to your computer and use it in GitHub Desktop.
Swagger-PHP with Doctrine Annotations Output
{
"/pet":{
"apiVersion":"0.2",
"swaggerVersion":"1.1",
"basePath":"http://petstore.swagger.wordnik.com/api",
"resourcePath":"/pet",
"apis":[
{
"path":"/pet.{format}/{petId}",
"description":"Operations about pets",
"resourcePath":"/pet",
"operations":{
"allowMultiple":true,
"nickname":"getPetById",
"responseClass":"Pet",
"summary":"Find pet by ID",
"httpMethod":"GET",
"parameters":{
"description":"ID of pet that needs to be fetched",
"dataType":"string",
"name":"petId",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid ID supplied"
},
{
"code":"404",
"reason":"Pet not found"
}
],
"notes":"Returns a pet based on ID"
}
},
{
"path":"/pet.{format}",
"description":"Operations about pets",
"resourcePath":"/pet",
"operations":[
{
"allowMultiple":true,
"nickname":"addPet",
"responseClass":"void",
"summary":"dd a new pet to the store",
"httpMethod":"GET",
"parameters":{
"description":"Pet object that needs to be added to the store",
"dataType":"Pet",
"paramType":"body",
"required":"true"
},
"notes":"<pre>\nsome inline html note\n\n</pre>"
},
{
"allowMultiple":true,
"nickname":"updatePet",
"responseClass":"void",
"summary":"Update an existing pet",
"httpMethod":"PUT",
"parameters":{
"description":"Pet object that needs to be updated to the store",
"dataType":"Pet",
"paramType":"body",
"required":"true"
},
"errorResponses":[
{
"code":"405",
"reason":"Invalid input"
},
{
"code":"400",
"reason":"Invalid ID supplied"
},
{
"code":"404",
"reason":"Pet not found"
}
]
}
]
},
{
"path":"/pet.{format}",
"description":"Operations about pets",
"resourcePath":"/pet",
"operations":[
{
"allowMultiple":true,
"nickname":"addPet",
"responseClass":"void",
"summary":"dd a new pet to the store",
"httpMethod":"GET",
"parameters":{
"description":"Pet object that needs to be added to the store",
"dataType":"Pet",
"paramType":"body",
"required":"true"
},
"notes":"<pre>\nsome inline html note\n\n</pre>"
},
{
"allowMultiple":true,
"nickname":"updatePet",
"responseClass":"void",
"summary":"Update an existing pet",
"httpMethod":"PUT",
"parameters":{
"description":"Pet object that needs to be updated to the store",
"dataType":"Pet",
"paramType":"body",
"required":"true"
},
"errorResponses":[
{
"code":"405",
"reason":"Invalid input"
},
{
"code":"400",
"reason":"Invalid ID supplied"
},
{
"code":"404",
"reason":"Pet not found"
}
]
}
]
},
{
"path":"/pet.{format}/findByStatus",
"description":"Operations about pets",
"resourcePath":"/pet",
"operations":{
"allowMultiple":true,
"nickname":"findPetsByStatus",
"responseClass":"List[Pet]",
"summary":"Finds Pets by status",
"httpMethod":"GET",
"parameters":{
"description":"Status values that need to be considered for filter",
"allowMultiple":true,
"dataType":"string",
"name":"status",
"paramType":"query",
"required":"true",
"defaultValue":"available"
},
"notes":"Multiple status values can be provided with comma seperated strings"
}
},
{
"path":"/pet.{format}/findByTags",
"description":"Operations about pets",
"resourcePath":"/pet",
"operations":{
"allowMultiple":true,
"nickname":"List[Pet]",
"responseClass":"List[Pet]",
"summary":"Finds Pets by tags",
"httpMethod":"GET",
"parameters":{
"description":"Tags to filter by",
"allowMultiple":true,
"dataType":"string",
"name":"tags",
"paramType":"query",
"required":true
},
"notes":"Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.",
"deprecated":true
}
}
]
},
"/store":{
"apiVersion":"0.2",
"swaggerVersion":"1.1",
"basePath":"http://petstore.swagger.wordnik.com/api",
"resourcePath":"/store",
"apis":[
{
"path":"/store.{format}/order/{orderId}",
"description":"Operations about store",
"resourcePath":"/store",
"operations":[
{
"allowMultiple":true,
"nickname":"getOrderById",
"responseClass":"Order",
"summary":"Find purchase order by ID",
"httpMethod":"GET",
"parameters":{
"description":"ID of pet that needs to be fetched",
"dataType":"string",
"name":"orderId",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid ID supplied"
},
{
"code":"404",
"reason":"Order not found"
}
],
"notes":"For valid response try integer IDs with value <= 5. Anything above 5 or nonintegers will generate API errors"
},
{
"allowMultiple":true,
"nickname":"getOrderById",
"responseClass":"Order",
"summary":"Delete purchase order by ID",
"httpMethod":"DELETE",
"parameters":{
"description":"ID of pet that needs to be deleted",
"dataType":"string",
"name":"orderId",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid ID supplied"
},
{
"code":"404",
"reason":"Order not found"
}
],
"notes":"For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors"
}
]
},
{
"path":"/store.{format}/order/{orderId}",
"description":"Operations about store",
"resourcePath":"/store",
"operations":[
{
"allowMultiple":true,
"nickname":"getOrderById",
"responseClass":"Order",
"summary":"Find purchase order by ID",
"httpMethod":"GET",
"parameters":{
"description":"ID of pet that needs to be fetched",
"dataType":"string",
"name":"orderId",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid ID supplied"
},
{
"code":"404",
"reason":"Order not found"
}
],
"notes":"For valid response try integer IDs with value <= 5. Anything above 5 or nonintegers will generate API errors"
},
{
"allowMultiple":true,
"nickname":"getOrderById",
"responseClass":"Order",
"summary":"Delete purchase order by ID",
"httpMethod":"DELETE",
"parameters":{
"description":"ID of pet that needs to be deleted",
"dataType":"string",
"name":"orderId",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid ID supplied"
},
{
"code":"404",
"reason":"Order not found"
}
],
"notes":"For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors"
}
]
},
{
"path":"/store.{format}/order",
"description":"Operations about store",
"resourcePath":"/store",
"operations":{
"allowMultiple":true,
"nickname":"placeOrder",
"responseClass":"void",
"summary":"Place an order for a pet",
"httpMethod":"POST",
"parameters":{
"description":"order placed for purchasing the pet",
"dataType":"Order",
"paramType":"body",
"required":"true"
}
}
}
]
},
"/user":{
"apiVersion":"0.2",
"swaggerVersion":"1.1",
"basePath":"http://petstore.swagger.wordnik.com/api",
"resourcePath":"/user",
"apis":[
{
"path":"/user.{format}/createWithArray",
"description":"Operations about user",
"resourcePath":"/user",
"operations":{
"allowMultiple":true,
"nickname":"createUsersWithArrayInput",
"responseClass":"void",
"summary":"Creates list of users with given input array",
"httpMethod":"POST"
}
},
{
"path":"/user.{format}",
"description":"Operations about user",
"resourcePath":"/user",
"operations":{
"allowMultiple":true,
"nickname":"createUser",
"responseClass":"void",
"summary":"Creates user",
"httpMethod":"POST",
"notes":"This can only be done by the logged in user."
}
},
{
"path":"/user.{format}/createWithList",
"description":"Operations about user",
"resourcePath":"/user",
"operations":{
"allowMultiple":true,
"nickname":"createUser",
"responseClass":"void",
"summary":"Creates list of users with given list input",
"httpMethod":"POST"
}
},
{
"path":"/user.{format}/{username}",
"description":"Operations about user",
"resourcePath":"/user",
"operations":[
{
"allowMultiple":true,
"nickname":"createUser",
"responseClass":"void",
"summary":"Updated user",
"httpMethod":"PUT",
"parameters":[
{
"description":"name that need to be updated",
"dataType":"string",
"name":"username",
"paramType":"path",
"required":"true"
},
{
"description":"Updated user object",
"dataType":"User",
"paramType":"body",
"required":"true"
}
],
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
},
{
"allowMultiple":true,
"nickname":"deleteUser",
"responseClass":"void",
"summary":"Delete user",
"httpMethod":"DELETE",
"parameters":{
"description":"The name that needs to be deleted",
"dataType":"string",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
},
{
"allowMultiple":true,
"nickname":"getUserByName",
"responseClass":"User",
"summary":"Get user by user name",
"httpMethod":"GETE",
"parameters":{
"description":"The name that needs to be fetched. Use user1 for testing.",
"dataType":"string",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
}
]
},
{
"path":"/user.{format}/{username}",
"description":"Operations about user",
"resourcePath":"/user",
"operations":[
{
"allowMultiple":true,
"nickname":"createUser",
"responseClass":"void",
"summary":"Updated user",
"httpMethod":"PUT",
"parameters":[
{
"description":"name that need to be updated",
"dataType":"string",
"name":"username",
"paramType":"path",
"required":"true"
},
{
"description":"Updated user object",
"dataType":"User",
"paramType":"body",
"required":"true"
}
],
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
},
{
"allowMultiple":true,
"nickname":"deleteUser",
"responseClass":"void",
"summary":"Delete user",
"httpMethod":"DELETE",
"parameters":{
"description":"The name that needs to be deleted",
"dataType":"string",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
},
{
"allowMultiple":true,
"nickname":"getUserByName",
"responseClass":"User",
"summary":"Get user by user name",
"httpMethod":"GETE",
"parameters":{
"description":"The name that needs to be fetched. Use user1 for testing.",
"dataType":"string",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
}
]
},
{
"path":"/user.{format}/{username}",
"description":"Operations about user",
"resourcePath":"/user",
"operations":[
{
"allowMultiple":true,
"nickname":"createUser",
"responseClass":"void",
"summary":"Updated user",
"httpMethod":"PUT",
"parameters":[
{
"description":"name that need to be updated",
"dataType":"string",
"name":"username",
"paramType":"path",
"required":"true"
},
{
"description":"Updated user object",
"dataType":"User",
"paramType":"body",
"required":"true"
}
],
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
},
{
"allowMultiple":true,
"nickname":"deleteUser",
"responseClass":"void",
"summary":"Delete user",
"httpMethod":"DELETE",
"parameters":{
"description":"The name that needs to be deleted",
"dataType":"string",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
},
{
"allowMultiple":true,
"nickname":"getUserByName",
"responseClass":"User",
"summary":"Get user by user name",
"httpMethod":"GETE",
"parameters":{
"description":"The name that needs to be fetched. Use user1 for testing.",
"dataType":"string",
"paramType":"path",
"required":"true"
},
"errorResponses":[
{
"code":"400",
"reason":"Invalid username supplied"
},
{
"code":"404",
"reason":"User not found"
}
],
"notes":"This can only be done by the logged in user."
}
]
},
{
"path":"/user.{format}/login",
"description":"Operations about user",
"resourcePath":"/user",
"operations":{
"allowMultiple":true,
"nickname":"loginUser",
"responseClass":"string",
"summary":"Logs user into the system",
"httpMethod":"GET",
"parameters":[
{
"description":"The user name for login",
"dataType":"string",
"name":"username",
"paramType":"query",
"required":"true"
},
{
"description":"The password for login in clear text",
"dataType":"string",
"name":"password",
"paramType":"query",
"required":"true"
}
]
}
},
{
"path":"/user.{format}/logout",
"description":"Operations about user",
"resourcePath":"/user",
"operations":{
"allowMultiple":true,
"nickname":"logoutUser",
"responseClass":"void",
"summary":"Logs out current logged in user session",
"httpMethod":"GET"
}
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment