Vad betyder att ett geo-API "felar stängt"?
Att felet syns. Ett API som felar öppet svarar 200 med en tom lista när något gått fel, och det svaret är omöjligt att skilja från ett ärligt "det finns inget här".
Vi har mätt den felformen femton gånger i källor vi själva använder. Ett urval:
- En myndighets tjänst svarade noll skyddsrum för 174 kommuner — inte för att de saknade skyddsrum, utan för att vi inte hade hämtat dem. Nollan såg ut som ett besked.
- En geologisk tjänst ignorerade parametern
?kommunkod=tyst och skickade hela rikets 836 435 brunnar. Filtret såg ut att bita: talet ändrades. - En karttjänst accepterade en koordinatsystemkod den inte stödde och svarade tomt i stället för att fela. Tio punkter i fem kommuner blev osynliga.
Vad vi gör i stället
Tomt är ett besked, fel är ett fel. Går frågan fram och världen är tom: 200 med tom lista. Går frågan inte fram: 502/503 med ett skal-fält i klartext.
null betyder omätt. entydig: null betyder att flertydigheten inte gick att mäta för den här frågan — inte att namnet är entydigt. hojd_m: null med nodata: true betyder ingen höjddata — inte havsnivå.
Ett tak är inte ett antal. antal är rader i svaret; total är hur många som finns, räknat före limiten, och avkortad säger att taket klippte.
"Inte hämtat" är okänt. Register vi hämtar kommunvis bär ett tillståndsfält. Är kommunen inte svept är antalet okänt, inte noll.
En bild som inte kan fyllas skickas inte. 503 med lagsta_fyllande_zoom i stället för en karta med hål i.
Vad det kostar dig som konsument
Två rader mer kod, och några svar som inte är svar. I gengäld kan din tjänst skilja på "ingenting hände" och "vi vet inte". Hela kontraktet: felkontraktet.