VNG-Realisatie/Haal-Centraal-WOZ-bevragen

met fields vragen om specifieke link geeft foutmelding

Closed this issue · 8 comments

vragen om een specifieke link geeft een foutmelding:

{
    "type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title": "Een of meerdere parameters zijn niet correct.",
    "detail": "Parameter 'fields' bevat een (deels) ongeldige waarde",
    "instance": "http://api.acceptatie.kadaster.nl/haalcentraal-api/wozobjecten/000500055044?fields=_links.kadastraalOnroerendeZaken",
    "status": 400,
    "code": "paramsValidation",
    "invalidParams": [
        {
            "reason": "ongeldige waarde: '_links.kadastraalOnroerendeZaken' opgegeven",
            "name": "fields",
            "code": "fields"
        }
    ]
}

Dit moet wel mogelijk zijn.

N.B. In dit geval zou met de link ook "adresseerbaarObjectIdentificaties" meegeleverd moeten worden, omdat deze opgenomen in de template.

Duidelijk. Aangezien het _links veld deel is van de HAL metadata, was deze niet geïnterpreteerd als veld van de daadwerkelijke resource, en daarbij niet meegenomen in de fields filter. Gaan we aanpassen.

@fsamwel We kunnen bijvoorbeeld: _links.kadastraalOnroerendeZaken toevoegen aan onze gefilterde lijst met mogelijke fields-opties. Het gevolg is dan dat er geen foutmelding meer optreedt. Aan de andere kant veranderd er aan het bericht niet veel. Alle mogelijke relaties behorende bij het wozobjectnummer zal getoond worden in het responsebericht.
Is het de bedoeling dat, in bovenstaand voorbeeld, alleen de gegevens van kadastraalOnroerendeZaken in de _links relatie te zien is of dat evt overige relaties óók te zien zijn in het bericht?

Als je fields gebruikt om aan te geven dat je maar een beperkt deel van de resource wilt ontvangen, zou ik daar ook de _links bij betrekken. Dus in dat geval ook alleen de links leveren waarom gevraagd is.

Uitzondering daarop is _links.self, die moet altijd geleverd worden (want identificeert de resource)

GET https://api.acceptatie.kadaster.nl/lvwoz/api/v1/wozobjecten/000500055044?fields=_links.kadastraalOnroerendeZaken geeft een server error:
{
"type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1",
"title": "Interne server fout.",
"status": 500,
"detail": "The server encountered an unexpected condition which prevented it from fulfilling the request.",
"instance": "http://api.acceptatie.kadaster.nl/haalcentraal-api/wozobjecten/000500055044?fields=_links.kadastraalOnroerendeZaken"
}

gaan we fixen

Er wordt nu geen foutmelding meer gegeven. In plaats daarvan wordt nu de property '_links' teruggegeven met daarin nu netjes de 'self' link en 'kadastraalOnroerendeZaken'.

Frank stelt in de initiële post van dit issue:

N.B. In dit geval zou met de link ook "adresseerbaarObjectIdentificaties" meegeleverd moeten worden, omdat deze opgenomen in de template.

Volgens mij moet dat juist de property 'kadastraalOnroerendeZaakIdentificaties' zijn. Die mis ik echter nog in de response en di is wel nodig om de templated link 'kadastraalOnroerendeZaken' te kunnen gebruiken.

Zojuist toevallig om een andere reden weer even geprobeerd en nu geeft GET https://api.acceptatie.kadaster.nl/lvwoz/api/v1/wozobjecten/000500055044?fields=_links.kadastraalOnroerendeZaken ineens weer wel de door Frank in zijn laatste reactie omschreven fout terug:

{
    "type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1",
    "title": "Interne server fout.",
    "status": 500,
    "detail": "The server encountered an unexpected condition which prevented it from fulfilling the request.",
    "instance": "https://api.acceptatie.kadaster.nl/lvwoz/api/v1/wozobjecten/000500055044?fields=_links.kadastraalOnroerendeZaken"
}

Blijkbaar was er een server probleem. Het werkt nu weer.