Et mellomlager for PDL som bruker Redis for caching.
speed-async
reagerer på identendringsmeldinger via PDLs LEESAH-topic og sørger for at cachen slettes for de
aktuelle identene.
For å komme kjapt i gang anbefales det å bruke tbd-libs
.
Siste versjon finner du på pakkeoversikten.
build.gradle.kts:
val tbdLibsVersion = "2025.08.07-09.55-15719a86"
dependencies {
api("com.github.navikt.tbd-libs:azure-token-client-default:$tbdLibsVersion")
api("com.github.navikt.tbd-libs:retry:$tbdLibsVersion")
api("com.github.navikt.tbd-libs:speed-client:$tbdLibsVersion")
}
applikasjonskode:
val env = System.getenv()
val httpClient = HttpClient.newHttpClient()
val azure = createAzureTokenClientFromEnvironment(env)
val speedClient = SpeedClient(httpClient, jacksonObjectMapper().registerModule(JavaTimeModule()), azure)
// bruker retry-biblioteket for retries
val identer = retryBlocking {
when (val svar = speedClient.hentFødselsnummerOgAktørId("identen man søker på", callId)) {
is Result.Error -> throw RuntimeException(svar.error, svar.cause)
is Result.Ok -> svar.value
}
}
Azure Bearer Token
Settes som callId
-header. Viss det ikke er satt vil Speed lage en.
{
"ident": "[identen_man_søker_på. fnr/aktørId/npid]"
}
Response body:
{
"feilmelding": "en feilmelding som kan forklare problemet",
"callId": "callId fra requesten"
}
Response body:
{
"fødselsdato": "1992-08-02",
"dødsdato": null,
"fornavn": "NORMAL",
"mellomnavn": null,
"etternavn": "MUFFINS",
"adressebeskyttelse": "UGRADERT",
"kjønn": "MANN"
}
{
"ident": "[identen_man_søker_på. fnr/aktørId/npid]"
}
Response body:
{
"feilmelding": "en feilmelding som kan forklare problemet",
"callId": "callId fra requesten"
}
Response body:
{
"fødselsnummer": "02889298149",
"aktørId": "2236655458597",
"npid": null,
"kilde": "CACHE"
}
{
"ident": "[identen_man_søker_på. fnr/aktørId/npid]"
}
Response body:
{
"feilmelding": "en feilmelding som kan forklare problemet",
"callId": "callId fra requesten"
}
Response body:
{
"fødselsnumre": ["gammelt_fnr", "enda_eldre_fnr"]
}
Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub.
Interne henvendelser kan sendes via Slack i kanalen #team-bømlo-værsågod.