API pública de MOT
Este es el código fuente de una API que proporciona acceso a datos MOT públicos.
Está escrito como un conjunto de AWS Lambdas, destinado a conectarse a los puntos finales de AWS API Gateway.
Hay cierta cobertura de pruebas unitarias, centrada en las rutas de código más importantes para los puntos finales utilizados con frecuencia.
Este repositorio utiliza git-secrets para evitar que se confirmen secretos. Asegúrese de tener git-secrets instalado en su máquina: https://github.com/awslabs/git-secrets#installing-git-secrets
Java 8/JDK8
CLI de AWS Sam: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html
Base de datos MTS en funcionamiento
MOTH ejecutándose localmente: https://github.com/dvsa/mot-history
Ejecute cp .env.example .env
en el directorio raíz; esto creará un archivo .env utilizando el archivo de ejemplo.
En .env
, cambie las siguientes variables: -
MOTH_API_URL: "http://docker.for.mac.localhost:3010"
para usar la API de MOTH localmente
MOTH_API_URL
y el MOTH_API_KEY
correspondiente para usar la API de MOTH directamente.
Para compilar la aplicación, asegúrese de estar en el directorio raíz y luego:
sam build
Para ejecutar la aplicación localmente, asegúrese de tener una compilación exitosa mientras se encuentra en el directorio raíz y luego:
sam local start-api --env-vars .env
Esto iniciará la aplicación en http:://127.0.0.1:3000
.
NOTA: Si desea cambiar el número de puerto, por ejemplo, a 3001, utilice
-p <port_number>
.
sam local start-api --env-vars .env -p 3001
Todas las rutas y entornos se enumeran en el archivo template.yaml
. Los valores de las variables de entorno se enumeran en el archivo .env
.
Puede agregar/editar variables de entorno y rutas como se muestra a continuación:
template.yaml:
Environment :
Variables :
MOTH_API_URL :
MOTH_API_KEY :
.env:
{
"Parameters" : {
"MOTH_API_URL" : " https://api.search.com " ,
"MOTH_API_KEY" : " randomKey "
}
}
Puede editar/agregar puntos finales:
template.yaml:
Events :
VrmGet :
Type : Api
Properties :
Path : /trade/vehicles/mot-tests
Method : GET
VrmPost :
Type : Api
Properties :
Path : /trade/vehicles/annual-tests
Method : GET
Cada vez que edites el código o template.yaml
/ .env
necesitarás compilar: sam build
y ejecutar la aplicación: sam local start-api --env-vars .env
para ver los cambios.