UNPKG

routing-controllers-openapi

Version:

Runtime OpenAPI v3 spec generation for routing-controllers

772 lines 18.4 kB
{ "components": { "schemas": { "CreateNestedBody": { "properties": { "users": { "items": { "$ref": "#/components/schemas/CreateUserBody" }, "type": "array" } }, "required": [ "users" ], "type": "object" }, "CreatePostBody": { "properties": { "content": { "items": { "type": "string" }, "type": "array" } }, "required": [ "content" ], "type": "object" }, "CreateUserBody": { "properties": { "email": { "format": "email", "type": "string" } }, "required": [ "email" ], "type": "object" }, "ListUsersQueryParams": { "properties": { "email": { "format": "email", "type": "string" }, "types": { "items": { "type": "string" }, "type": "array" } }, "required": [ "types" ], "type": "object" }, "CreateUserPostImagesBody": { "properties": { "description": { "type": "string" } }, "required": [ "description" ], "type": "object" }, "ListUsersHeaderParams": { "properties": { "Authorization": { "type": "string" }, "X-Correlation-ID": { "type": "string" } }, "required": [ "Authorization" ], "type": "object" }, "ModelDto": { "properties": { "age": { "type": "integer" }, "email": { "format": "email", "type": "string" }, "username": { "type": "string" } }, "required": [ "email", "username" ], "type": "object" }, "UserQuery": { "properties": { "name": { "type": "string" } }, "required": [ "name" ], "type": "object" } }, "securitySchemes": { "basicAuth": { "scheme": "basic", "type": "http" }, "bearerAuth": { "scheme": "bearer", "type": "http" } } }, "info": { "title": "My app", "version": "1.2.0" }, "openapi": "3.0.0", "paths": { "/api": { "get": { "description": "Common description for all RootController operations", "operationId": "RootController.getDefaultPath", "responses": { "200": { "content": { "text/html; charset=utf-8": {} }, "description": "Successful response" } }, "security": [ { "basicAuth": [] } ], "summary": "Get default path", "tags": [ "Root" ] } }, "/api/stringPath": { "get": { "description": "Common description for all RootController operations", "operationId": "RootController.getStringPath", "responses": { "200": { "content": { "text/html; charset=utf-8": {} }, "description": "Successful response" } }, "security": [], "summary": "Get string path", "tags": [ "Root" ] } }, "/api/users": { "put": { "description": "Insert or update a user object - DEPRECATED in v1.0.1", "deprecated": true, "summary": "", "operationId": "UsersController.putUserDefault", "requestBody": { "content": { "application/json": { "schema": { "properties": { "limit": { "type": "number" }, "query": { "$ref": "#/components/schemas/UserQuery" }, "token": { "type": "string" } }, "required": [ "token" ], "type": "object" } } } }, "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" } }, "tags": [ "Users" ] } }, "/api/users/": { "get": { "description": "List all users", "operationId": "UsersController.listUsers", "parameters": [ { "in": "header", "name": "ListUsersHeaderParams", "required": false, "schema": { "$ref": "#/components/schemas/ListUsersHeaderParams" } }, { "in": "query", "name": "email", "required": false, "schema": { "format": "email", "type": "string" } }, { "in": "query", "name": "types", "required": true, "schema": { "items": { "type": "string" }, "type": "array" } } ], "responses": { "200": { "content": { "text/cvs": { "schema": { "items": { "$ref": "#/components/schemas/ModelDto" }, "type": "array" } } }, "description": "" } }, "summary": "List users", "tags": [ "Users" ] }, "post": { "operationId": "UsersController.createUser", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUserBody" } } }, "description": "CreateUserBody", "required": false }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelDto" } } }, "description": "Created user object" } }, "summary": "Create user", "tags": [ "Users" ] }, "put": { "operationId": "UsersController.createManyUsers", "requestBody": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CreateUserBody" } } } }, "description": "CreateUserBody", "required": true }, "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" } }, "summary": "Create many users", "tags": [ "Users" ] } }, "/api/users/nested": { "post": { "operationId": "UsersController.createNestedUsers", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateNestedBody" } } }, "description": "CreateNestedBody", "required": true }, "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" } }, "summary": "Create nested users", "tags": [ "Users" ] } }, "/api/users/withType": { "post": { "operationId": "UsersController.createUserWithType", "parameters": [ { "in": "query", "name": "user", "required": false, "schema": { "$ref": "#/components/schemas/CreateUserBody" } } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelDto" } } }, "description": "Created user object" } }, "summary": "Create user with type", "tags": [ "Users" ] } }, "/api/users/{from}-{to}": { "get": { "operationId": "UsersController.listUsersInRange", "parameters": [ { "in": "path", "name": "from", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } }, { "in": "path", "name": "to", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "number" } }, { "in": "query", "name": "", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "userId", "required": true, "schema": { "type": "number" } } ], "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" }, "400": { "description": "Bad request" } }, "summary": "List users in range", "tags": [ "Users" ] } }, "/api/users/{userId}/posts/{postId}/images": { "post": { "operationId": "UserPostsController.createUserPostImages", "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } }, { "in": "path", "name": "postId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateUserPostImagesBody" }, { "properties": { "images": { "items": { "format": "binary", "type": "string" }, "type": "array" }, "token": { "type": "string" } }, "required": [], "type": "object" } ] } } }, "description": "CreateUserPostImagesBody", "required": true }, "responses": { "200": { "content": { "text/html; charset=utf-8": {} }, "description": "Successful response" } }, "summary": "Create user post images", "tags": [ "User Posts" ] } }, "/api/users/{version}": { "delete": { "operationId": "UsersController.deleteUsersByVersion", "parameters": [ { "in": "path", "name": "version", "required": true, "schema": { "pattern": "v?\\d{1}|all", "type": "string" } } ], "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" } }, "summary": "Delete users by version", "tags": [ "Users" ] } }, "/api/users/{userId}": { "get": { "operationId": "UsersController.getUser", "parameters": [ { "in": "header", "name": "", "required": false, "schema": { "type": "string" } }, { "in": "header", "name": "X-Requested-With", "required": false, "schema": { "type": "string" } }, { "in": "path", "name": "userId", "required": false, "schema": { "pattern": "[^\\/#\\?]+?", "type": "number" } } ], "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" } }, "summary": "Get user", "tags": [ "Users" ] } }, "/api/users/{userId}/avatar": { "put": { "operationId": "UsersController.putUserAvatar", "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "properties": { "image": { "format": "binary", "type": "string" } }, "required": [], "type": "object" } } } }, "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" } }, "summary": "Put user avatar", "tags": [ "Users" ] } }, "/api/users/{userId}/posts": { "post": { "operationId": "UsersController.createUserPost", "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreatePostBody" }, { "properties": { "token": { "type": "string" } }, "required": [], "type": "object" } ] } } }, "description": "CreatePostBody", "required": true }, "responses": { "200": { "content": { "application/json": {} }, "description": "Successful response" } }, "summary": "Create user post", "tags": [ "Users" ] } }, "/api/users/{userId}/posts/{postId}": { "get": { "operationId": "UserPostsController.getUserPost", "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "number" } }, { "in": "path", "name": "postId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } } ], "responses": { "200": { "content": { "text/html; charset=utf-8": {} }, "description": "Successful response" } }, "summary": "Get user post", "tags": [ "User Posts" ] }, "patch": { "operationId": "UserPostsController.patchUserPost", "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } }, { "in": "path", "name": "postId", "required": true, "schema": { "pattern": "[^\\/#\\?]+?", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "token": { "type": "string" } }, "required": [], "type": "object" } } } }, "responses": { "200": { "content": { "text/html; charset=utf-8": {} }, "description": "Successful response" } }, "summary": "Patch user post", "tags": [ "User Posts" ] } } } }