Documentation / Documentación - API ogCore
Select Language / Seleccionar Idioma
English
Table of Contents
- Introduction
- Configuration
- Resource Definition
- API Operations
- Entity Properties
- Organizational Unit Input DTO
Introduction
This documentation describes the configuration of API Platform in a Symfony. It details the resources, operations, and entity properties exposed through the API.
Configuration
API configuration is done in Symfony configuration files, usually in config/packages/api_platform.yaml
file.
resources:
App\Entity\OrganizationalUnit:
processor: App\State\Processor\OrganizationalUnitProcessor
output: App\Dto\Output\OrganizationalUnitOutput
input: App\Dto\Input\OrganizationalUnitInput
normalizationContext:
groups: ['default', 'organizational-unit:read']
denormalization_context:
groups: ['organizational-unit:write']
operations:
ApiPlatform\Metadata\GetCollection:
provider: App\State\Provider\OrganizationalUnitProvider
filters:
- 'api_platform.filter.organizational_unit.order'
- 'api_platform.filter.organizational_unit.search'
ApiPlatform\Metadata\Get:
security: 'is_granted("ORGANIZATIONAL_UNIT_VIEW", object)'
provider: App\State\Provider\OrganizationalUnitProvider
securityMessage: 'Sorry, but you are not allowed to access this resource.'
ApiPlatform\Metadata\Put:
provider: App\State\Provider\OrganizationalUnitProvider
ApiPlatform\Metadata\Patch:
provider: App\State\Provider\OrganizationalUnitProvider
validationContext:
groups: ['organizational-unit:patch']
ApiPlatform\Metadata\Post: ~
ApiPlatform\Metadata\Delete: ~
properties:
App\Entity\OrganizationalUnit:
id:
identifier: false
uuid:
identifier: true
Resource Definition
App\Entity\OrganizationalUnit
- Processor:
App\State\Processor\OrganizationalUnitProcessor
- Output:
App\Dto\Output\OrganizationalUnitOutput
- Input:
App\Dto\Input\OrganizationalUnitInput
- Normalization Context:
['default', 'organizational-unit:read']
- Denormalization Context:
['organizational-unit:write']
API Operations
Organizational Unit Operations
Get Organizational Unit Collection (GetCollection)
- Provider:
App\State\Provider\OrganizationalUnitProvider
- Filters:
- Order organizational units:
api_platform.filter.organizational_unit.order
- Search organizational units:
api_platform.filter.organizational_unit.search
- Order organizational units:
Get Organizational Unit (Get)
- Security: Only accessible by users granted
ORGANIZATIONAL_UNIT_VIEW
permission on the object. - Security Message:
Sorry, but you are not allowed to access this resource.
- Provider:
App\State\Provider\OrganizationalUnitProvider
Update Organizational Unit (Put)
- Provider:
App\State\Provider\OrganizationalUnitProvider
Partially Update Organizational Unit (Patch)
- Provider:
App\State\Provider\OrganizationalUnitProvider
- Validation Context:
['organizational-unit:patch']
Create Organizational Unit (Post)
- Default Operation: ~
Delete Organizational Unit (Delete)
- Default Operation: ~
Entity Properties
App\Entity\OrganizationalUnit
Fields Required in OrganizationalUnit Endpoint Input
-
name
- Type: string
- Validation: Not blank
- Groups:
organizational-unit:write
-
parent
- Type:
OrganizationalUnitOutput
- Groups:
organizational-unit:write
- Type:
-
description
- Type: string
- Groups:
organizational-unit:write
-
location
- Type: string
- Groups:
organizational-unit:write
-
projector
- Type: boolean
- Groups:
organizational-unit:write
-
board
- Type: boolean
- Groups:
organizational-unit:write
-
capacity
- Type: integer
- Validation: Greater than 0
- Groups:
organizational-unit:write
-
comments
- Type: string
- Groups:
organizational-unit:write
-
type
- Type: string
- Validation: Custom constraint
OrganizationalUnitType
- Groups:
organizational-unit:write
-
networkSettings
- Type:
NetworkSettingsInput
- Validation: Valid
- Groups:
organizational-unit:write
- Type:
Español
Tabla de Contenidos
- Introducción
- Configuración
- Definición de Recursos
- Operaciones de API
- Propiedades de la Entidad
- DTO de Entrada de Unidad Organizativa
Introducción
Esta documentación describe la configuración de API Platform en un proyecto Symfony, detallando los recursos, operaciones y propiedades de entidad expuestos a través de la API.
Configuración
La configuración de API se realiza en archivos de configuración Symfony, generalmente en config/packages/api_platform.yaml
.
resources:
App\Entity\OrganizationalUnit:
processor: App\State\Processor\OrganizationalUnitProcessor
output: App\Dto\Output\OrganizationalUnitOutput
input: App\Dto\Input\OrganizationalUnitInput
normalizationContext:
groups: ['default', 'organizational-unit:read']
denormalization_context:
groups: ['organizational-unit:write']
operations:
ApiPlatform\Metadata\GetCollection:
provider: App\State\Provider\OrganizationalUnitProvider
filters:
- 'api_platform.filter.organizational_unit.order'
- 'api_platform.filter.organizational_unit.search'
ApiPlatform\Metadata\Get:
security: 'is_granted("ORGANIZATIONAL_UNIT_VIEW", object)'
provider: App\State\Provider\OrganizationalUnitProvider
securityMessage: 'Sorry, but you are not allowed to access this resource.'
ApiPlatform\Metadata\Put:
provider: App\State\Provider\OrganizationalUnitProvider
ApiPlatform\Metadata\Patch:
provider: App\State\Provider\OrganizationalUnitProvider
validationContext:
groups: ['organizational-unit:patch']
ApiPlatform\Metadata\Post: ~
ApiPlatform\Metadata\Delete: ~
properties:
App\Entity\OrganizationalUnit:
id:
identifier: false
uuid:
identifier: true
Definición de Recursos
App\Entity\OrganizationalUnit
- Processor:
App\State\Processor\OrganizationalUnitProcessor
- Output:
App\Dto\Output\OrganizationalUnitOutput
- Input:
App\Dto\Input\OrganizationalUnitInput
- Normalization Context:
['default', 'organizational-unit:read']
- Denormalization Context:
['organizational-unit:write']
Operaciones de API
Operaciones de Unidad Organizativa
Obtener Colección de Unidades Organizativas (GetCollection)
- Provider:
App\State\Provider\OrganizationalUnitProvider
- Filtros:
- Ordenar unidades organizativas:
api_platform.filter.organizational_unit.order
- Buscar unidades organizativas:
api_platform.filter.organizational_unit.search
- Ordenar unidades organizativas:
Obtener Unidad Organizativa (Get)
- Security: Solo accesible por usuarios con el permiso
ORGANIZATIONAL_UNIT_VIEW
sobre el objeto. - Mensaje de Seguridad:
Sorry, but you are not allowed to access this resource.
- Provider:
App\State\Provider\OrganizationalUnitProvider
Actualizar Unidad Organizativa (Put)
- Provider:
App\State\Provider\OrganizationalUnitProvider
Actualización Parcial de Unidad Organizativa (Patch)
- Provider:
App\State\Provider\OrganizationalUnitProvider
- Validation Context:
['organizational-unit:patch']
Crear Unidad Organizativa (Post)
- Operación Predeterminada: ~
Eliminar Unidad Organizativa (Delete)
- Operación Predeterminada: ~
Propiedades de la Entidad
App\Entity\OrganizationalUnit
-
id:
- Identifier:
false
- Identifier:
-
uuid:
- Identifier:
true
- Identifier:
DTO de Entrada de Unidad Organizativa
Fields Required in OrganizationalUnit Endpoint Input
-
name
- Type: string
- Validation: Not blank
- Groups:
organizational-unit:write
-
parent
- Type:
OrganizationalUnitOutput
- Groups:
organizational-unit:write
- Type:
-
description
- Type: string
- Groups:
organizational-unit:write
-
location
- Type: string
- Groups:
organizational-unit:write
-
projector
- Type: boolean
- Groups:
organizational-unit:write
-
board
- Type: boolean
- Groups:
organizational-unit:write
-
capacity
- Type: integer
- Validation: Greater than 0
- Groups:
organizational-unit:write
-
comments
- Type: string
- Groups:
organizational-unit:write
-
type
- Type: string
- Validation: Custom constraint
OrganizationalUnitType
- Groups:
organizational-unit:write
-
networkSettings
- Type:
NetworkSettingsInput
- Validation: Valid
- Groups:
organizational-unit:write
- Type:
Table of Contents
- Documentation / Documentación - API ogCore
- Select Language / Seleccionar Idioma
- English
- Table of Contents
- Introduction
- Configuration
- Resource Definition
- API Operations
- Entity Properties
- Fields Required in OrganizationalUnit Endpoint Input
- Español