DVLA車両照会API V1のPHPクライアント実装。このパッケージは次のとおりです。
Composerを介してライブラリをインストールできます。
composer require lendable/dvla-vehicle-enquiry-api-client
クライアントクラスはDVLAのREST APIを実装し、車両の詳細を要求するために使用できる車両スコープを返すことができます。
クライアントクラスのインスタンス化には、APIキー認証を追加するデコレータとPSR-18互換レイヤーを注入する必要があります。また、UATとライブサービスを簡単に切り替えるには、APIのベースURIを定義する必要があります。
APIの仕様には、UATとLive URLが含まれています。与えられたURIは、スラッシュ( /
)で終わるべきではなく、 /v1
パスも含める必要があります。
例: https://uat.driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1
クライアントは、PSR-7 Uriinterfaceの実装でURIを受け入れます。
apikeyauthhttpclientdecoratorは、必要なAPIトークン認証ヘッダーをリクエストに追加します。 Apikey Valueオブジェクトは、偶発的な暴露を避けて、トークンの秘密を維持します。
PSR18ClientDecoratorを使用すると、PSR-18標準をサポートするHTTPクライアントを使用して、事前に構築されたHTTPリクエストを実行できます。
PSR-18標準をサポートしていないHTTPクライアントを使用する場合は、PSR-18 requestInterfaceフォーマットリクエストデータを使用してHTTPクライアントを呼び出し、HTTPクライアントの応答をPSR-に変換するHTTPクライアターを作成することができます。 18 ResponseInterfaceフォーマット応答。
たとえば、統合テストでは、このPSR-18変換を使用するデコレーターを使用してGuzzLeclientを使用しています。
<?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 ' ))
);
これにより、 AA19PPP
登録番号を使用してAPIリクエストが作成され、 $vehicleDetails
変数には、値オブジェクトのすべての返されたAPI応答データが含まれるEnquiryResponseオブジェクトが含まれます。
この例は、UAT API URLとテスト登録番号を使用しています。さまざまなテストケースの模擬応答のテスト登録番号は、DVLA車両照会サービスAPIドキュメントで利用できます。