QuickStart
Una specifica in ingresso, un client funzionante in uscita
Una riga di comando genera la unit. Una chiamata la usa. La terza scheda mostra le opzioni da conoscere il primo giorno.
> sgcOpenAPI.exe -i "geolocation.json" -o "geolocation.pas"
File successfully created geolocation.pas
Entrambe le opzioni sono obbligatorie. -i accetta un file locale o un URL e supporta JSON e YAML, mentre -o è la unit Pascal da scrivere. Nello stesso eseguibile c'è una procedura guidata grafica se preferisci cliccare. Aggiungi il .pas generato al tuo progetto ed è pronto all'uso.
uses
geolocation;
procedure TfrmGeolocation.btnGeolocationClick(Sender: TObject);
var
oResponse: TsgcOpenAPI_Retrieve_the_location_of_an_IP_address_Response;
begin
oResponse := GetOpenAPIClient.Retrieve_the_location_of_an_IP_address(
txtAPIKey.Text, txtIPAddress.Text);
try
if oResponse.IsSuccessful then
memoResponse.Lines.Text :=
'country: ' + oResponse.Successful.Country + #13#10 +
'city: ' + oResponse.Successful.City
else
memoResponse.Lines.Text := oResponse.ResponseError;
finally
oResponse.Free;
end;
end;
GetOpenAPIClient viene generata nella unit e non accetta parametri. Un metodo per operazione, con il nome ricavato dall'id dell'operazione. L'oggetto risposta va liberato da te, ed è per questo che la demo usa un try finally. Nelle versioni di Delphi precedenti a XE7 il metodo generato restituisce invece una semplice stringa e la demo inclusa protegge il percorso tipizzato con {$IF CompilerVersion >= 28.0}.
-s generate a server stub instead of a client
-a 3 add an OAuth2 flow to the generated client
(0 none, 1 basic, 2 token, 3 oauth2, 4 jwt)
-u <url> set the base url the generated client uses
-m 1 name methods from summary rather than operationid
(0 operationid, 1 summary, 2 endpoint)
-x <list|file> exclude operations, as "VERB endpoint"
-p generate only the classes the kept operations use
-nc do not create pascal classes
-l show progress messages (errors are always shown)
-user -password activate the licence on this machine
Su una specifica di grandi dimensioni, -x e -p insieme fanno la differenza tra una unit che puoi aprire nell'IDE e una che non puoi. Esiste anche -r, ed è volutamente disattivata per impostazione predefinita perché carica l'intera specifica su un convertitore di terze parti.
Il comando di generazione è la riga di utilizzo stampata dalla guida dello strumento stesso. La chiamata è la demo inclusa Demos\20.Client\abstractapi.com\geolocation\fGeolocation.pas, con i controlli del form sostituiti da valori letterali. Quella demo include la specifica e si aspetta che tu generi la unit, ed è per questo che la guida rapida parte dal generatore.