API publique MOT
Il s'agit du code source d'une API qui donne accès aux données publiques MOT.
Il est écrit sous la forme d'un ensemble d'AWS Lambda, destiné à être connecté aux points de terminaison AWS API Gateway.
Il existe une certaine couverture de tests unitaires, axée sur les chemins de code les plus importants pour les points de terminaison fréquemment utilisés.
Ce référentiel utilise git-secrets pour empêcher la validation des secrets. Veuillez vous assurer que git-secrets est installé sur votre ordinateur : https://github.com/awslabs/git-secrets#installing-git-secrets
Java8/JDK8
AWS Sam CLI - https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html
Base de données MTS opérationnelle
MOTH fonctionnant localement - https://github.com/dvsa/mot-history
Exécutez cp .env.example .env
dans le répertoire racine - cela créera un fichier .env en utilisant l'exemple de fichier.
Dans le .env
, modifiez les variables suivantes : -
MOTH_API_URL: "http://docker.for.mac.localhost:3010"
pour utiliser l'API MOTH localement
MOTH_API_URL
et le MOTH_API_KEY
correspondant pour utiliser directement l'API MOTH.
Pour créer l'application, assurez-vous que vous êtes dans le répertoire racine, puis :
sam build
Pour exécuter l'application localement, assurez-vous d'avoir une compilation réussie dans le répertoire racine, puis :
sam local start-api --env-vars .env
Cela démarrera l'application à http:://127.0.0.1:3000
.
REMARQUE : Si vous souhaitez modifier le numéro de port par exemple 3001, utilisez
-p <port_number>
.
sam local start-api --env-vars .env -p 3001
Tous les chemins et environnements sont répertoriés dans le fichier template.yaml
. Les valeurs des variables d'environnement sont répertoriées dans le fichier .env
.
Vous pouvez ajouter/modifier des variables d'environnement et des chemins comme indiqué ci-dessous :
template.yaml:
Environment :
Variables :
MOTH_API_URL :
MOTH_API_KEY :
.env:
{
"Parameters" : {
"MOTH_API_URL" : " https://api.search.com " ,
"MOTH_API_KEY" : " randomKey "
}
}
Vous pouvez modifier/ajouter des points de terminaison :
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
Chaque fois que vous modifiez le code ou template.yaml
/ .env
vous devrez build : sam build
et exécuter l'application : sam local start-api --env-vars .env
pour voir les modifications.