MOT API สาธารณะ
นี่คือซอร์สโค้ดสำหรับ API ที่ให้การเข้าถึงข้อมูล MOT สาธารณะ
เขียนเป็นชุดของ AWS Lambdas ซึ่งมีจุดประสงค์เพื่อเชื่อมต่อกับตำแหน่งข้อมูล AWS API Gateway
มีความครอบคลุมการทดสอบหน่วยบางส่วน โดยเน้นไปที่เส้นทางโค้ดที่สำคัญที่สุดสำหรับตำแหน่งข้อมูลที่ใช้บ่อย
พื้นที่เก็บข้อมูลนี้ใช้ git-secret เพื่อป้องกันไม่ให้มีการส่งความลับ โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง 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 api โดยตรง
ในการสร้างแอปพลิเคชันตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเร็กทอรีรากแล้ว:
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
คุณจะต้อง build: sam build
และรันแอปพลิเคชัน: sam local start-api --env-vars .env
เพื่อดูการเปลี่ยนแปลง