Ohjeita

Ohjeita ohjelmoijille

Tälle sivulle on kerätty ohjeistusta ja tietoa rajapinnoista ja niiden käytöstä.

Cache

Suurin osa rajapintojen kutsuista on cachetettu edustapalvelimilla. Tämän takia palveluita ei ole hyötyä kutsua liian usein, koska cachesta palautuva vastaus ei muutu. Cachen ikä on määritelty HTTP-headerissa cache-control, esimerkiksi cache-control: max-age=60.

Tämä saattaa myös aiheuttaa omituiselta tuntuvia aikaleimoja, kun samaa palvelua kutsuu eri parametreilla. Esimerkiksi:

https://tie.digitraffic.fi/api/v1/data/tms-data?lastUpdated=true

https://tie.digitraffic.fi/api/v1/data/tms-data?lastUpdated=false

Näistä voi tulla eri dataUpdatedTime, koska vastaukset ovat menneet cacheen eri aikoina.

Pakkaus

Pakkausta kannattaa käyttää, sillä data on hyvin pakkautuvaa ja tällä säästää kaistaa ja aikaa. Pakkauksen käyttöönotto riippuu hieman käytetystä tekniikasta.

curl

curl -H 'Accept-Encoding: gzip' -H 'Connection: close' --compress https://tie.digitraffic.fi/api/v1/data/tms-data -o data.json

wget

wget --header='Accept-Encoding: gzip' --header='Connection: close' https://tie.digitraffic.fi/api/v1/data/tms-data -O data.json

Java RestTemplate

final HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(HttpClientBuilder.create().build());
final RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);

final String output = restTemplate.getForObject("https://tie.digitraffic.fi/api/v1/data/tms-data?testi=testi", String.class);
bug_reportLöysitkö virheen? Auta meitä parantamaan tätä sivua.