Add Usuarios
commit
876aea04b0
|
@ -0,0 +1,111 @@
|
|||
Documentación de la API - API Platform con Symfony 3
|
||||
Índice
|
||||
Introducción
|
||||
Instalación
|
||||
Configuración
|
||||
Definición de Recursos
|
||||
Operaciones de API
|
||||
Propiedades del Entidad
|
||||
Introducción
|
||||
Esta documentación describe la configuración de API Platform en un proyecto Symfony 3. Se detallan los recursos, operaciones y propiedades de las entidades expuestas a través de la API.
|
||||
|
||||
Instalación
|
||||
Requisitos previos:
|
||||
|
||||
Symfony 3.x instalado.
|
||||
Composer instalado.
|
||||
Instalación de API Platform:
|
||||
|
||||
bash
|
||||
Copiar código
|
||||
composer require api-platform/core
|
||||
Configuración
|
||||
La configuración de la API se realiza en los archivos de configuración de Symfony, generalmente en config/packages/api_platform.yaml o un archivo similar.
|
||||
|
||||
yaml
|
||||
Copiar código
|
||||
resources:
|
||||
App\Entity\User:
|
||||
input: App\Dto\Input\UserInput
|
||||
output: App\Dto\Output\UserOutput
|
||||
processor: App\State\Processor\UserProcessor
|
||||
normalization_context:
|
||||
groups: ['default', 'user:read']
|
||||
denormalization_context:
|
||||
groups: ['user:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\UserProvider
|
||||
filters:
|
||||
- 'api_platform.filter.user.order'
|
||||
- 'api_platform.filter.user.search'
|
||||
- 'api_platform.filter.user.boolean'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Post:
|
||||
security: 'is_granted("ROLE_SUPER_ADMIN")'
|
||||
validationContext:
|
||||
groups: [ 'default', 'user:post' ]
|
||||
ApiPlatform\Metadata\Delete:
|
||||
security: 'is_granted("ROLE_SUPER_ADMIN")'
|
||||
reset_password:
|
||||
provider: App\State\Provider\UserProvider
|
||||
class: ApiPlatform\Metadata\Put
|
||||
method: PUT
|
||||
input: App\Dto\Input\UserInput
|
||||
uriTemplate: /users/{uuid}/reset-password
|
||||
controller: App\Controller\ResetPasswordAction
|
||||
validationContext:
|
||||
groups: [ 'user:reset-password' ]
|
||||
|
||||
properties:
|
||||
App\Entity\User:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
||||
Definición de Recursos
|
||||
App\Entity\User
|
||||
Entrada (input): App\Dto\Input\UserInput
|
||||
Salida (output): App\Dto\Output\UserOutput
|
||||
Procesador: App\State\Processor\UserProcessor
|
||||
Contexto de Normalización: ['default', 'user:read']
|
||||
Contexto de Desnormalización: ['user:write']
|
||||
Operaciones de API
|
||||
Colección de Usuarios (GetCollection)
|
||||
Proveedor: App\State\Provider\UserProvider
|
||||
Filtros:
|
||||
Ordenar usuarios: api_platform.filter.user.order
|
||||
Buscar usuarios: api_platform.filter.user.search
|
||||
Filtro booleano: api_platform.filter.user.boolean
|
||||
Obtener Usuario (Get)
|
||||
Proveedor: App\State\Provider\UserProvider
|
||||
Actualizar Usuario (Put)
|
||||
Proveedor: App\State\Provider\UserProvider
|
||||
Modificar Parcialmente Usuario (Patch)
|
||||
Proveedor: App\State\Provider\UserProvider
|
||||
Crear Usuario (Post)
|
||||
Seguridad: Solo los usuarios con el rol ROLE_SUPER_ADMIN pueden acceder.
|
||||
Contexto de Validación: ['default', 'user:post']
|
||||
Eliminar Usuario (Delete)
|
||||
Seguridad: Solo los usuarios con el rol ROLE_SUPER_ADMIN pueden acceder.
|
||||
Resetear Contraseña (reset_password)
|
||||
Proveedor: App\State\Provider\UserProvider
|
||||
Clase: ApiPlatform\Metadata\Put
|
||||
Método: PUT
|
||||
Entrada (input): App\Dto\Input\UserInput
|
||||
URI: /users/{uuid}/reset-password
|
||||
Controlador: App\Controller\ResetPasswordAction
|
||||
Contexto de Validación: ['user:reset-password']
|
||||
Propiedades de la Entidad
|
||||
App\Entity\User
|
||||
id:
|
||||
|
||||
Identificador: false
|
||||
uuid:
|
||||
|
||||
Identificador: true
|
Loading…
Reference in New Issue