openapi: 3.0.1 info: title: OpenAPI definition version: v0 servers: - url: http://localhost:8083 description: Generated server url tags: - name: SearchController description: Контроллер для поиска - name: EntityController description: Контроллер для работы с сущностями entity paths: /api/v1/delete/**: delete: tags: - EntityController summary: Удаляет запись entry в соответствии с параметрами description: Удаляет запись entry в соответствии с параметрами operationId: deleteEntry parameters: - name: mainId in: query description: идентификатор обращения required: false schema: type: string - name: guid in: query description: глобальный идентификатор сущности required: false schema: type: string - name: parentEntries in: query description: 'адрес до дочерней сущности, вида: "CollectionName.attribute.attribute"' required: false schema: type: string responses: 500: description: Внутренняя ошибка сервера content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object 204: description: Нет содержимого content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object /api/v1/users: get: tags: - EntityController summary: Возвращает данные авторизованного в системе пользователя description: Возвращает _id, id, login и name пользователя, авторизованного в системе operationId: username responses: 200: description: Успешный запрос content: application/json: schema: type: string example: _id: 57e389b2219bc9bd22fb9ab8 id: f63aa091-784d-44c4-883a-c2f8346cbe25 login: admin name: Администратор! '*/*': schema: type: string example: _id: 57e389b2219bc9bd22fb9ab8 id: f63aa091-784d-44c4-883a-c2f8346cbe25 login: admin name: Администратор! 500: description: Внутренняя ошибка сервера content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object /api/v1/create/**: post: tags: - EntityController summary: Создание записи entry в соответствии с параметрами description: Создает запись entry в соответствии с параметрами operationId: createEntry parameters: - name: mainId in: query description: идентификатор обращения required: false schema: type: string - name: parentGuid in: query description: глобальный идентификатор родительской сущности required: false schema: type: string - name: parentEntries in: query description: 'адрес до дочерней сущности, вида: "CollectionName.attribute.attribute"' required: false schema: type: string - name: withAuid in: query description: признак необходимости генерирования auid required: false schema: type: boolean default: true requestBody: content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object responses: 500: description: Внутренняя ошибка сервера content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object 201: description: Создано content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object /api/v1/update/**: put: tags: - EntityController summary: Обновляет запись entry в соответствии с параметрами description: Обновляет запись entry в соответствии с параметрами operationId: updateEntry parameters: - name: mainId in: query description: идентификатор required: false schema: type: string - name: guid in: query description: глобальный идентификатор сущности required: false schema: type: string - name: parentEntries in: query description: 'адрес до дочерней сущности, вида: "CollectionName.attribute.attribute"' required: false schema: type: string requestBody: content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object responses: 200: description: Успешно content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object 500: description: Внутренняя ошибка сервера content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object /api/v1/find/**: get: tags: - SearchController summary: Возвращает запись entry в соответствии с параметрами description: Возвращает запись entry в соответствии с параметрами operationId: getEntry parameters: - name: mainId in: query description: идентификатор обращения required: false schema: type: string - name: guid in: query description: глобальный идентификатор сущности required: false schema: type: string - name: parentEntries in: query description: 'адрес до дочерней сущности, вида: "CollectionName.attribute.attribute"' required: false schema: type: string - name: prj in: query description: наименование проекции required: false schema: type: string - name: projection in: query description: проекция required: true schema: $ref: '#/components/schemas/Bson' responses: 200: description: Успешно content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object 500: description: Внутренняя ошибка сервера content: application/json: schema: type: object properties: empty: type: boolean additionalProperties: type: object '*/*': schema: type: object properties: empty: type: boolean additionalProperties: type: object /api/v1/internal/count/{searchURI}: post: tags: - SearchController summary: Возвращает кол-во записей по параметрам поиска description: Возвращает кол-во записей по параметрам поиска operationId: getCount parameters: - name: searchURI in: path description: имя коллекции для поиска required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: 200: description: Успешно content: '*/*': schema: type: integer format: int64 500: description: Внутренняя ошибка сервера content: '*/*': schema: type: integer format: int64 /api/v1/internal/search/{searchURI}: post: tags: - SearchController summary: Ищет данные в БД по входящим параметрам поиска с проекуией. Возвращает пагинированный список найденных документов. description: Ищет данные в БД по входящим параметрам поиска с проекуией. Возвращает пагинированный список найденных документов. operationId: findEntryWithProjection parameters: - name: searchURI in: path description: имя коллекции для поиска required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: 200: description: Успешно content: application/json: schema: $ref: '#/components/schemas/PageDocument' '*/*': schema: $ref: '#/components/schemas/PageDocument' 500: description: Внутренняя ошибка сервера content: application/json: schema: $ref: '#/components/schemas/PageDocument' '*/*': schema: $ref: '#/components/schemas/PageDocument' /api/v1/search/{searchURI}: post: tags: - SearchController summary: Ищет данные в БД по входящим параметрам поиска. Возвращает пагинированный список найденных документов. description: Ищет данные в БД по входящим параметрам поиска. Возвращает пагинированный список найденных документов. operationId: findEntry parameters: - name: searchURI in: path description: имя коллекции для поиска required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: 200: description: Успешно content: application/json: schema: $ref: '#/components/schemas/PageDocument' '*/*': schema: $ref: '#/components/schemas/PageDocument' 500: description: Внутренняя ошибка сервера content: application/json: schema: $ref: '#/components/schemas/PageDocument' '*/*': schema: $ref: '#/components/schemas/PageDocument' /error: get: tags: - basic-error-controller operationId: error_4 responses: 200: description: default response content: '*/*': schema: type: object additionalProperties: type: object put: tags: - basic-error-controller operationId: error responses: 200: description: default response content: '*/*': schema: type: object additionalProperties: type: object post: tags: - basic-error-controller operationId: error_3 responses: 200: description: default response content: '*/*': schema: type: object additionalProperties: type: object delete: tags: - basic-error-controller operationId: error_1 responses: 200: description: default response content: '*/*': schema: type: object additionalProperties: type: object options: tags: - basic-error-controller operationId: error_2 responses: 200: description: default response content: '*/*': schema: type: object additionalProperties: type: object head: tags: - basic-error-controller operationId: error_5 responses: 200: description: default response content: '*/*': schema: type: object additionalProperties: type: object patch: tags: - basic-error-controller operationId: error_6 responses: 200: description: default response content: '*/*': schema: type: object additionalProperties: type: object components: schemas: Document: type: object properties: empty: type: boolean additionalProperties: type: object Bson: type: object ParamSearch: type: object properties: field: type: string operator: type: string value: type: object Search: type: object properties: search: type: array items: $ref: '#/components/schemas/ParamSearch' textSearch: type: string SearchRequest: type: object properties: search: $ref: '#/components/schemas/Search' type: type: string page: type: integer format: int32 size: type: integer format: int32 prj: type: string prjBson: $ref: '#/components/schemas/Bson' sort: type: string distinctFields: type: array items: type: string PageDocument: type: object properties: totalPages: type: integer format: int32 totalElements: type: integer format: int64 size: type: integer format: int32 content: type: array items: $ref: '#/components/schemas/Document' number: type: integer format: int32 numberOfElements: type: integer format: int32 sort: $ref: '#/components/schemas/Sort' first: type: boolean pageable: $ref: '#/components/schemas/Pageable' last: type: boolean Pageable: type: object properties: offset: type: integer format: int64 sort: $ref: '#/components/schemas/Sort' pageSize: type: integer format: int32 pageNumber: type: integer format: int32 paged: type: boolean unpaged: type: boolean Sort: type: object properties: unsorted: type: boolean sorted: type: boolean