واجهة برمجة تطبيقات MOT العامة
هذا هو الكود المصدري لواجهة برمجة التطبيقات (API) التي توفر الوصول إلى بيانات MOT العامة.
تمت كتابته كمجموعة من AWS Lambdas، المخصصة للاتصال بنقاط نهاية AWS API Gateway.
هناك بعض تغطية اختبار الوحدة، مع التركيز على مسارات التعليمات البرمجية الأكثر أهمية لنقاط النهاية المستخدمة بشكل متكرر.
يستخدم هذا المستودع أسرار git لمنع ارتكاب الأسرار. يرجى التأكد من تثبيت git-secrets على جهازك: https://github.com/awslabs/git-secrets#installing-git-secrets
جافا 8/JDK8
AWS Sam CLI - https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html
قاعدة بيانات MTS قيد التشغيل
MOTH يعمل محليًا - https://github.com/dvsa/mot-history
قم بتشغيل cp .env.example .env
في الدليل الجذر - سيؤدي هذا إلى إنشاء ملف .env باستخدام ملف المثال.
في .env
، قم بتغيير المتغيرات التالية: -
MOTH_API_URL: "http://docker.for.mac.localhost:3010"
لاستخدام MOTH API محليًا
MOTH_API_URL
و MOTH_API_KEY
المطابق لاستخدام واجهة برمجة تطبيقات MOTH مباشرةً.
لإنشاء التطبيق تأكد من وجودك في الدليل الجذر ثم:
sam build
لتشغيل التطبيق محليًا، تأكد من نجاح البناء أثناء تواجدك في الدليل الجذر ثم:
sam local start-api --env-vars .env
سيؤدي هذا إلى بدء التطبيق على http:://127.0.0.1:3000
.
ملاحظة: إذا كنت ترغب في تغيير رقم المنفذ إلى 3001 على سبيل المثال، فاستخدم
-p <port_number>
.
sam local start-api --env-vars .env -p 3001
يتم سرد كافة المسارات والبيئات في ملف template.yaml
. يتم سرد قيم متغيرات البيئة في ملف .env
.
يمكنك إضافة/تحرير متغيرات البيئة والمسارات كما هو موضح أدناه:
template.yaml:
Environment :
Variables :
MOTH_API_URL :
MOTH_API_KEY :
.env:
{
"Parameters" : {
"MOTH_API_URL" : " https://api.search.com " ,
"MOTH_API_KEY" : " randomKey "
}
}
يمكنك تعديل/إضافة نقاط النهاية:
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
في كل مرة تقوم فيها بتحرير التعليمات البرمجية أو template.yaml
/ .env
ستحتاج إلى إنشاء: sam build
التطبيق وتشغيله: sam local start-api --env-vars .env
لرؤية التغييرات.