Implementasi Klien PHP untuk DVLA Vehicle Inquiry API V1. Paket ini menyediakan:
Anda dapat menginstal pustaka melalui komposer.
composer require lendable/dvla-vehicle-enquiry-api-client
Kelas klien mengimplementasikan API REST DVLA dan dapat mengembalikan ruang lingkup kendaraan yang dapat digunakan untuk meminta rincian kendaraan.
Untuk instantiasi kelas klien, kita perlu menyuntikkan dekorator yang menambahkan otentikasi kunci API, dan lapisan kompatibilitas PSR-18. Juga, kita perlu mendefinisikan pangkalan API URI untuk dengan mudah beralih antara UAT dan layanan langsung.
Spesifikasi API berisi UAT dan URL hidup. URI yang diberikan tidak boleh diakhiri dengan slash ( /
) dan harus berisi jalur /v1
juga.
Sebagai contoh: https://uat.driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1
Klien menerima URI dalam implementasi PSR-7 URIinterface.
ApikeyauthhttpClientDecorator menambahkan header otentikasi token API yang diperlukan ke permintaan. Objek nilai Apikey merahasiakan token, menghindari paparan yang tidak disengaja.
Dengan PSR18ClientDecorator Anda dapat menggunakan klien HTTP apa pun yang mendukung standar PSR-18 untuk melakukan permintaan HTTP prebuilt.
Jika Anda lebih suka menggunakan klien HTTP yang tidak mendukung standar PSR-18, Anda dapat membuat dekorator sederhana yang memanggil klien HTTP menggunakan data permintaan format permintaan PSR-18 dan mengonversi respons klien HTTP ke PSR- 18 ResponInterface Format Respons.
Misalnya dalam tes integrasi kami, kami menggunakan Guzzleclient dengan dekorator yang menggunakan konversi PSR-18 ini.
<?php
declare (strict_types= 1 );
use Lendable Dvla VehicleEnquiry Auth ApiKeyAuthHttpClientDecorator ;
use Lendable Dvla VehicleEnquiry Auth ValueObject ApiKey ;
use Lendable Dvla VehicleEnquiry Client ;
use Lendable Dvla VehicleEnquiry Psr18ClientDecorator ;
use Lendable Dvla VehicleEnquiry Scope VehiclesScope Request EnquiryRequest ;
use Lendable Dvla VehicleEnquiry Scope VehiclesScope ValueObject RegistrationNumber ;
use Nyholm Psr7 Uri ;
$ client = new Client (
new ApiKeyAuthHttpClientDecorator (
new Psr18ClientDecorator (
new YourPsr18HttpClient ()
),
ApiKey :: fromString ( ' YOUR-AUTHENTICATION-TOKEN ' )
),
new Uri ( ' https://uat.driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1 ' )
);
$ vehicleDetails = $ client -> vehicles ()-> enquireDetails (
EnquiryRequest :: with ( RegistrationNumber :: fromString ( ' AA19PPP ' ))
);
Ini membuat permintaan API dengan nomor pendaftaran AA19PPP
dan variabel $vehicleDetails
akan berisi objek EnquiryResponse yang berisi semua data respons API yang dikembalikan pada objek nilai.
Contoh ini menggunakan UAT API URL dan nomor pendaftaran uji. Nomor pendaftaran uji untuk tanggapan tiruan dari berbagai kasus uji tersedia dalam dokumentasi API layanan penyelidikan kendaraan DVLA.