Skip to content

jdpatino10/MPFreelancer-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Tabla de contenidos

#API Rest ##Introducción La comunicación entre cliente y servidor se realiza intercambiando objetos JSON. Para cada entidad se hace un mapeo a JSON, donde cada uno de sus atributos se transforma en una propiedad de un objeto JSON. Todos los servicios se generan en la URL /MPFreelancer.api/webresources/. Por defecto, todas las entidades tienen un atributo id, con el cual se identifica cada registro:

{
    id: '',
    attribute_1: '',
    attribute_2: '',
    ...
    attribute_n: ''
}

###CRUD Básico Para los servicios de CRUD Básico, Cuando se transmite información sobre un registro específico, se realiza enviando un objeto con la estructura mencionada en la sección anterior. La única excepción se presenta al solicitar al servidor una lista de los registros en la base de datos, que incluye información adicional para manejar paginación de lado del servidor.

La respuesta del servidor al solicitar una colección presenta el siguiente formato:

{
    totalRecords: 0, //cantidad de registros en la base de datos
    records: [] //collección con los datos solicitados. cada objeto tiene la estructura de la entidad.
}

##API de la aplicación MPFreelancer ###Entidad Category ####CRUD Básico En la siguiente tabla se detalla los servicios REST generados para la entidad Category, la estructura del objeto que intercambian y sus respectivas funciones.

#####Estructura de objeto Category

{
    id: '' /*Tipo Long*/,
    name: '' /*Tipo String*/,
    description: '' /*Tipo String*/
}

#####Servicios

Método URI Acción Parámetros Cuerpo Retorno
GET /categorys Obtener todos los objetos JSON de Category (READ) @QueryParam page: página a consultar
@QueryParam maxRecords: cantidad de registros a consultar

Si se omite alguno de estos parámetros se obtiene todos los registros en la base de datos
Colección de objetos JSON Category y el total de registros en la base de datos en el header X-Total-Count
GET /categorys/:id Obtener los atributos de una instancia de Category en formato JSON(READ) @PathParam id: Identificador del registro Objeto JSON con detalle de la instancia de Category
POST /categorys Crear una nueva instancia de la entidad Category (CREATE) Objeto JSON de Category a crear Objeto JSON de Category creado
PUT /categorys/:id Actualiza una instancia de la entidad Category (UPDATE) @PathParam id: Identificador del registro Objeto JSON de Category Objeto JSON de Category actualizado
DELETE /categorys/:id Borra instancia de Category en el servidor (DELETE) @PathParam id: Identificador del registro

####Maestros Detalle de Category #####Servicios A diferencia del API para CRUD Básico, el API de Maestro/Detalle no provee un servicio para listar los registros de la entidad maestra. Los servicios generados para el componente Maestro/Detalle de Category son los siguientes:

######Relaciones Shared

Método URI Acción Parámetros Cuerpo Retorno
GET categorys/:id/projects Obtener instancias de projects(Project) asociados con Category @PathParam id: id de instancia de Category Colección de id de projects(Project) asociados con Category
PUT categorys/:id/projects Actualización de referencias a projects(Project) desde Category @PathParam id: id de instancia de Category Colección de id de projects(Project) a asociar Colección de objetos JSON de projects(Project) asociados
Volver arriba

###Entidad Education ####CRUD Básico En la siguiente tabla se detalla los servicios REST generados para la entidad Education, la estructura del objeto que intercambian y sus respectivas funciones.

#####Estructura de objeto Education

{
    id: '' /*Tipo Long*/,
    name: '' /*Tipo String*/,
    startDate: '' /*Tipo Date*/,
    endDate: '' /*Tipo Date*/,
    institution: '' /*Tipo String*/,
    title: '' /*Tipo String*/,
    description: '' /*Tipo String*/
}

#####Servicios

Método URI Acción Parámetros Cuerpo Retorno
GET /educations Obtener todos los objetos JSON de Education (READ) @QueryParam page: página a consultar
@QueryParam maxRecords: cantidad de registros a consultar

Si se omite alguno de estos parámetros se obtiene todos los registros en la base de datos
Colección de objetos JSON Education y el total de registros en la base de datos en el header X-Total-Count
GET /educations/:id Obtener los atributos de una instancia de Education en formato JSON(READ) @PathParam id: Identificador del registro Objeto JSON con detalle de la instancia de Education
POST /educations Crear una nueva instancia de la entidad Education (CREATE) Objeto JSON de Education a crear Objeto JSON de Education creado
PUT /educations/:id Actualiza una instancia de la entidad Education (UPDATE) @PathParam id: Identificador del registro Objeto JSON de Education Objeto JSON de Education actualizado
DELETE /educations/:id Borra instancia de Education en el servidor (DELETE) @PathParam id: Identificador del registro

Volver arriba

###Entidad Freelancer ####CRUD Básico En la siguiente tabla se detalla los servicios REST generados para la entidad Freelancer, la estructura del objeto que intercambian y sus respectivas funciones.

#####Estructura de objeto Freelancer

{
    id: '' /*Tipo Long*/,
    name: '' /*Tipo String*/,
    rate: '' /*Tipo Integer*/,
    bithday: '' /*Tipo Date*/,
    picture: '' /*Tipo String*/
}

#####Servicios

Método URI Acción Parámetros Cuerpo Retorno
GET /freelancers Obtener todos los objetos JSON de Freelancer (READ) @QueryParam page: página a consultar
@QueryParam maxRecords: cantidad de registros a consultar

Si se omite alguno de estos parámetros se obtiene todos los registros en la base de datos
Colección de objetos JSON Freelancer y el total de registros en la base de datos en el header X-Total-Count
GET /freelancers/:id Obtener los atributos de una instancia de Freelancer en formato JSON(READ) @PathParam id: Identificador del registro Objeto JSON con detalle de la instancia de Freelancer
POST /freelancers Crear una nueva instancia de la entidad Freelancer (CREATE) Objeto JSON de Freelancer a crear Objeto JSON de Freelancer creado
PUT /freelancers/:id Actualiza una instancia de la entidad Freelancer (UPDATE) @PathParam id: Identificador del registro Objeto JSON de Freelancer Objeto JSON de Freelancer actualizado
DELETE /freelancers/:id Borra instancia de Freelancer en el servidor (DELETE) @PathParam id: Identificador del registro

####Maestros Detalle de Freelancer #####Servicios A diferencia del API para CRUD Básico, el API de Maestro/Detalle no provee un servicio para listar los registros de la entidad maestra. Los servicios generados para el componente Maestro/Detalle de Freelancer son los siguientes:

######Relaciones Composite

Método URI Acción Parámetros Cuerpo Retorno
GET freelancers/:id/titles Obtener Objetos JSON de titles(Education) dependientes de Freelancer @PathParam id: id de instancia de Freelancer Colección de objetos JSON de titles(Education)
POST freelancers/:id/titles Creación de instancias de titles(Education) dependientes de Freelancer @PathParam id: id de instancia de Freelancer Colección de objetos JSON de titles(Education) a crear Colección de objetos JSON de titles(Education) creados con sus respectivos ID
PUT freelancers/:id/titles Actualización de instancias de titles(Education) dependientes de Freelancer @PathParam id: id de instancia de Freelancer Colección de objetos JSON de titles(Education) a actualizar Colección de objetos JSON de titles(Education) actualizados
DELETE freelancers/:id/titles Eliminación de instancias de titles(Education) dependientes de Freelancer @PathParam id: id de instancia de Freelancer Colección de atributo id de titles(Education) a eliminar

######Relaciones Shared

Método URI Acción Parámetros Cuerpo Retorno
GET freelancers/:id/skills Obtener instancias de skills(Skill) asociados con Freelancer @PathParam id: id de instancia de Freelancer Colección de id de skills(Skill) asociados con Freelancer
PUT freelancers/:id/skills Actualización de referencias a skills(Skill) desde Freelancer @PathParam id: id de instancia de Freelancer Colección de id de skills(Skill) a asociar Colección de objetos JSON de skills(Skill) asociados
Volver arriba

###Entidad Project ####CRUD Básico En la siguiente tabla se detalla los servicios REST generados para la entidad Project, la estructura del objeto que intercambian y sus respectivas funciones.

#####Estructura de objeto Project

{
    id: '' /*Tipo Long*/,
    price: '' /*Tipo Integer*/,
    deadLine: '' /*Tipo Date*/,
    status: '' /*Objeto que representa instancia de Status*/,
    name: '' /*Tipo String*/,
    category: '' /*Objeto que representa instancia de Category*/,
    sponsor: '' /*Objeto que representa instancia de ProjectSponsor*/,
    description: '' /*Tipo String*/,
    publicationDate: '' /*Tipo Date*/,
    startDate: '' /*Tipo Date*/
}

#####Servicios

Método URI Acción Parámetros Cuerpo Retorno
GET /projects Obtener todos los objetos JSON de Project (READ) @QueryParam page: página a consultar
@QueryParam maxRecords: cantidad de registros a consultar

Si se omite alguno de estos parámetros se obtiene todos los registros en la base de datos
Colección de objetos JSON Project y el total de registros en la base de datos en el header X-Total-Count
GET /projects/:id Obtener los atributos de una instancia de Project en formato JSON(READ) @PathParam id: Identificador del registro Objeto JSON con detalle de la instancia de Project
POST /projects Crear una nueva instancia de la entidad Project (CREATE) Objeto JSON de Project a crear Objeto JSON de Project creado
PUT /projects/:id Actualiza una instancia de la entidad Project (UPDATE) @PathParam id: Identificador del registro Objeto JSON de Project Objeto JSON de Project actualizado
DELETE /projects/:id Borra instancia de Project en el servidor (DELETE) @PathParam id: Identificador del registro

####Maestros Detalle de Project #####Servicios A diferencia del API para CRUD Básico, el API de Maestro/Detalle no provee un servicio para listar los registros de la entidad maestra. Los servicios generados para el componente Maestro/Detalle de Project son los siguientes:

######Relaciones Shared

Método URI Acción Parámetros Cuerpo Retorno
GET projects/:id/expectedskills Obtener instancias de expectedskills(Skill) asociados con Project @PathParam id: id de instancia de Project Colección de id de expectedskills(Skill) asociados con Project
PUT projects/:id/expectedskills Actualización de referencias a expectedskills(Skill) desde Project @PathParam id: id de instancia de Project Colección de id de expectedskills(Skill) a asociar Colección de objetos JSON de expectedskills(Skill) asociados
Volver arriba

###Entidad ProjectSponsor ####CRUD Básico En la siguiente tabla se detalla los servicios REST generados para la entidad ProjectSponsor, la estructura del objeto que intercambian y sus respectivas funciones.

#####Estructura de objeto ProjectSponsor

{
    id: '' /*Tipo Long*/,
    name: '' /*Tipo String*/,
    company: '' /*Tipo String*/,
    picture: '' /*Tipo String*/
}

#####Servicios

Método URI Acción Parámetros Cuerpo Retorno
GET /projectSponsors Obtener todos los objetos JSON de ProjectSponsor (READ) @QueryParam page: página a consultar
@QueryParam maxRecords: cantidad de registros a consultar

Si se omite alguno de estos parámetros se obtiene todos los registros en la base de datos
Colección de objetos JSON ProjectSponsor y el total de registros en la base de datos en el header X-Total-Count
GET /projectSponsors/:id Obtener los atributos de una instancia de ProjectSponsor en formato JSON(READ) @PathParam id: Identificador del registro Objeto JSON con detalle de la instancia de ProjectSponsor
POST /projectSponsors Crear una nueva instancia de la entidad ProjectSponsor (CREATE) Objeto JSON de ProjectSponsor a crear Objeto JSON de ProjectSponsor creado
PUT /projectSponsors/:id Actualiza una instancia de la entidad ProjectSponsor (UPDATE) @PathParam id: Identificador del registro Objeto JSON de ProjectSponsor Objeto JSON de ProjectSponsor actualizado
DELETE /projectSponsors/:id Borra instancia de ProjectSponsor en el servidor (DELETE) @PathParam id: Identificador del registro

####Maestros Detalle de ProjectSponsor #####Servicios A diferencia del API para CRUD Básico, el API de Maestro/Detalle no provee un servicio para listar los registros de la entidad maestra. Los servicios generados para el componente Maestro/Detalle de ProjectSponsor son los siguientes:

######Relaciones Shared

Método URI Acción Parámetros Cuerpo Retorno
GET projectSponsors/:id/projects Obtener instancias de projects(Project) asociados con ProjectSponsor @PathParam id: id de instancia de ProjectSponsor Colección de id de projects(Project) asociados con ProjectSponsor
PUT projectSponsors/:id/projects Actualización de referencias a projects(Project) desde ProjectSponsor @PathParam id: id de instancia de ProjectSponsor Colección de id de projects(Project) a asociar Colección de objetos JSON de projects(Project) asociados
Volver arriba

###Entidad Skill ####CRUD Básico En la siguiente tabla se detalla los servicios REST generados para la entidad Skill, la estructura del objeto que intercambian y sus respectivas funciones.

#####Estructura de objeto Skill

{
    id: '' /*Tipo Long*/,
    name: '' /*Tipo String*/,
    description: '' /*Tipo String*/
}

#####Servicios

Método URI Acción Parámetros Cuerpo Retorno
GET /skills Obtener todos los objetos JSON de Skill (READ) @QueryParam page: página a consultar
@QueryParam maxRecords: cantidad de registros a consultar

Si se omite alguno de estos parámetros se obtiene todos los registros en la base de datos
Colección de objetos JSON Skill y el total de registros en la base de datos en el header X-Total-Count
GET /skills/:id Obtener los atributos de una instancia de Skill en formato JSON(READ) @PathParam id: Identificador del registro Objeto JSON con detalle de la instancia de Skill
POST /skills Crear una nueva instancia de la entidad Skill (CREATE) Objeto JSON de Skill a crear Objeto JSON de Skill creado
PUT /skills/:id Actualiza una instancia de la entidad Skill (UPDATE) @PathParam id: Identificador del registro Objeto JSON de Skill Objeto JSON de Skill actualizado
DELETE /skills/:id Borra instancia de Skill en el servidor (DELETE) @PathParam id: Identificador del registro

####Maestros Detalle de Skill #####Servicios A diferencia del API para CRUD Básico, el API de Maestro/Detalle no provee un servicio para listar los registros de la entidad maestra. Los servicios generados para el componente Maestro/Detalle de Skill son los siguientes:

######Relaciones Shared

Método URI Acción Parámetros Cuerpo Retorno
GET skills/:id/freelancers Obtener instancias de freelancers(Freelancer) asociados con Skill @PathParam id: id de instancia de Skill Colección de id de freelancers(Freelancer) asociados con Skill
PUT skills/:id/freelancers Actualización de referencias a freelancers(Freelancer) desde Skill @PathParam id: id de instancia de Skill Colección de id de freelancers(Freelancer) a asociar Colección de objetos JSON de freelancers(Freelancer) asociados
GET skills/:id/projects Obtener instancias de projects(Project) asociados con Skill @PathParam id: id de instancia de Skill Colección de id de projects(Project) asociados con Skill
PUT skills/:id/projects Actualización de referencias a projects(Project) desde Skill @PathParam id: id de instancia de Skill Colección de id de projects(Project) a asociar Colección de objetos JSON de projects(Project) asociados
Volver arriba

###Entidad Status ####CRUD Básico En la siguiente tabla se detalla los servicios REST generados para la entidad Status, la estructura del objeto que intercambian y sus respectivas funciones.

#####Estructura de objeto Status

{
    id: '' /*Tipo Long*/,
    name: '' /*Tipo String*/
}

#####Servicios

Método URI Acción Parámetros Cuerpo Retorno
GET /statuss Obtener todos los objetos JSON de Status (READ) @QueryParam page: página a consultar
@QueryParam maxRecords: cantidad de registros a consultar

Si se omite alguno de estos parámetros se obtiene todos los registros en la base de datos
Colección de objetos JSON Status y el total de registros en la base de datos en el header X-Total-Count
GET /statuss/:id Obtener los atributos de una instancia de Status en formato JSON(READ) @PathParam id: Identificador del registro Objeto JSON con detalle de la instancia de Status
POST /statuss Crear una nueva instancia de la entidad Status (CREATE) Objeto JSON de Status a crear Objeto JSON de Status creado
PUT /statuss/:id Actualiza una instancia de la entidad Status (UPDATE) @PathParam id: Identificador del registro Objeto JSON de Status Objeto JSON de Status actualizado
DELETE /statuss/:id Borra instancia de Status en el servidor (DELETE) @PathParam id: Identificador del registro

####Maestros Detalle de Status #####Servicios A diferencia del API para CRUD Básico, el API de Maestro/Detalle no provee un servicio para listar los registros de la entidad maestra. Los servicios generados para el componente Maestro/Detalle de Status son los siguientes:

######Relaciones Shared

Método URI Acción Parámetros Cuerpo Retorno
GET statuss/:id/project Obtener instancias de project(Project) asociados con Status @PathParam id: id de instancia de Status Colección de id de project(Project) asociados con Status
PUT statuss/:id/project Actualización de referencias a project(Project) desde Status @PathParam id: id de instancia de Status Colección de id de project(Project) a asociar Colección de objetos JSON de project(Project) asociados
Volver arriba

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages