melsk-r / HC-BRK-bevragen-issues

0 stars 0 forks source link

Diakrieten komen niet goed over in natuurlijke persoon #361

Closed melsk-r closed 2 weeks ago

melsk-r commented 2 weeks ago

Originally created by fsamwel (https://github.com/VNG-Realisatie/Haal-Centraal-BRK-bevragen/issues/448):

https://api.test.kadaster.nl/esd/gemeenten/brk/kadasternatuurlijkpersonen/NL.IMKAD.Persoon.50550743

Deze bevat in het antwoord: "woonadres" : { "adresregel1" : " PRIMA PLEIN 123", "adresregel2" : "LUIK", "adresregel3" : "Wallonië", "land" : { "code" : "5010", "waarde" : "België" } },

De "ë" van Wallonië en België is niet goed overgekomen.

Mogelijk komt dit omdat er in de content-type header geen UTF-8 o.i.d. is opgenomen, zodat de ontvanger niet weet in welke charset is gebruikt.

melsk-r commented 2 weeks ago

This comment originally might have been created by someone else.

@fsamwel waarmee heb je dit resultaat verkregen? Welke browser?


Ik snap wat je zegt met charset. Ik zou inderdaad dit verwachten:

ContentType: application/hal+json; charset=UTF-8

Echter de response bevat:

Content-Type: application/hal+json

Vreemd. Vroeger heb ik ook met dit HATEOAS framework gewerkt, toen was er een optie voor UTF-8. Deze blijkt verwijderd te zijn [issue, commit] evenals verwijderd uit het Spring framework [issue].

De motivatie hiervoor is te vinden in de nieuwere RFC 8259 punt 8.1:

JSON text exchanged between systems that are not part of a closed ecosystem MUST be encoded using UTF-8 [RFC3629].

Met andere woorden, Content-Type JSON impliceert charset UTF-8, dus charset hoef je niet meer op te geven (en doet ook niks meer). Gezien dit ook gefixt is in alle recente browsers (Chromium in 2017) is besloten om dit te verwijderen.


Lokaal een klein testje met Postman lijkt prima om te gaan met diakrieten:

{
    "_embedded": {
        "zakelijkGerechtigden": [
            {
                "identificatie": "Diakrieten ü-î-ç",
                "type": "eigenaar",

~Het enige wat ik verder kan bedenken, is dat de bron van HaalCentraal de gegevens niet correct aanlevert dan wel dat HaalCentraal deze niet als zijnde UTF-8 inleest. Dit zal ik moeten nakijken.~ Zie hieronder. Aan de JSON response kan het in ieder geval niet liggen 😃

melsk-r commented 2 weeks ago

This comment originally might have been created by someone else.

Ik heb mijn lokale HaalCentraal aangesloten op hetzelfde data endpoint als testomgeving api.test.kadaster.nl en zie: ✔️ diakrieten in XML response van data endpoint ✔️ diakrieten in JSON response van HaalCentraal

Volgens mij klopt alles dus 👍


(Postman) GET .../esd/gemeenten/brk/kadasternatuurlijkpersonen/NL.IMKAD.Persoon.50550743

{
    "identificatie": "NL.IMKAD.Persoon.50550743",
    "omschrijving": "Sidonia Jansens",
    "woonadres": {
        "adresregel1": "PRIMA PLEIN 123",
        "adresregel2": "LUIK",
        "adresregel3": "Wallonië",
        "land": {
            "code": "5010",
            "waarde": "België"
        }
    },
    "kadastraalOnroerendeZaakIdentificaties": [
        "NL.IMKAD.KadastraalObject.76870487970000"
    ],
    "geheimhoudingPersoonsgegevens": false,
    "landWaarnaarVertrokken": {
        "code": "5010",
        "waarde": "België"
    },