-
Notifications
You must be signed in to change notification settings - Fork 0
Documentación
Gestión de los taxis de una ciudad dado sus conductores y los vehículos
Esta aplicación permitirá tener un registro centralizado de los conductores de taxis y sus vehículos para una ciudad.
A continuación presentamos el diagrama de clases del paquete de entidades:
Admite varias veces la misma referencia y teléfono, pero no llamadas sin referencia o con referencia vacía. El teléfono puede ser vacío.
Ejemplo: POST /drivers {1234XYZ:666666666}
Entrada | Respuesta | Respuesta sin tema |
---|---|---|
reference: String Referencia del conductor phone: String Teléfono del conductor |
CREATED (201) |
BAD_REQUEST(400) {"error":"DriverFieldInvalidException"}
|
Consulta los conductores por
id
. Elid
debe pertenecer a un conductor y debe ser un entero.
Ejemplo: GET /drivers/2
Parámetros | Respuesta | Respuesta si id no existe id no entero |
---|---|---|
-- | OK (200) {"id":2,"referencia":"1234XYZ","phone":"666666666"} |
BAD_REQUEST(400) {"error":"DriverIdNotFoundException"} {"error":"NumberFormatException"}
|
Admite varias veces la misma referencia y teléfono. No admite referencia vacía. Pero el teléfono puede ser vacío. En caso de ser vacío se actualiza a vacío el valor. Por ejemplo, para el cuerpo
{1234XYZ:}
como no se específica el teléfono entonces se actualiza en vacío. Si se tiene el cuerpo{1234XYZ}
no se modifica el teléfono dado que no se define.
Ejemplo: PATCH /drivers/2 {1234XYZ:666666666}
Parámetros | Respuesta | Respuesta si id no existe id no entero |
---|---|---|
-- | OK (200) |
BAD_REQUEST(400) {"error":"DriverIdNotFoundException"} {"error":"NumberFormatException"}
|
Admite varias veces la misma marca, modelo, id del conductor y combustible, pero no llamadas sin marca, modelo, id del conductor o combustible. Tampoco está permitido que ninguno de los campos sea vacío.
Ejemplo: POST /vehicles {BMW:T1000:1:GASOLINE}
Entrada | Respuesta | Respuesta si brand no vacío model no vacío driverId no existe fuel no seleccionada GASOLINE or DIESEL |
---|---|---|
brand: String nombre de la marca model : String nombre del modelo driverId: int id del conductor fuel: enum GASOLINE or DIESEL |
CREATED (201) |
BAD_REQUEST(400) {"error":"VehicleFieldInvalidException"} {"error":"DriverIdNotFoundException"} {"error":"IllegalArgumentException"}
|
El
id
debe pertenecer a un conductor y debe ser un entero.
Ejemplo: GET /drivers/2/vehicles
Parámetros | Respuesta | Respuesta si id no existe id no entero |
---|---|---|
-- | OK (200) {{"id":2,"referencia":"1234XYZ","phone":"666666666"}, [{"id":1,"brand":"BMW","model":"T1000","fuel":"GASOLINE"}, {"id":2,"brand":"Mercedes","model":"CLQ","fuel":"DIESEL"}]} |
BAD_REQUEST(400) {"error":"DriverIdNotFoundException"} {"error":"NumberFormatException"}
|
Ejemplo: GET /vehicles
Parámetros | Respuesta |
---|---|
-- |
OK (200) [{"id":1,"brand":"BMW","model":"T1000","driver":1,"fuel":"GASOLINE"}, {"id":2,"brand":"Mercedes","model":"CLQ","driver":1,"fuel":"DIESEL"}]
|