Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

url van _embedded.wozObjecten._links.self.href incorrect? #126

Open
melsk-r opened this issue Sep 27, 2021 · 5 comments
Open

url van _embedded.wozObjecten._links.self.href incorrect? #126

melsk-r opened this issue Sep 27, 2021 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@melsk-r
Copy link
Contributor

melsk-r commented Sep 27, 2021

In de response van de operatie GET https://api.acceptatie.kadaster.nl/lvwoz/api/v1/wozobjecten?kvkNummer=00409420&fields=waarden,belanghebbendeEigenaar.naam heeft ‘_embedded.wozObjecten._links.self.href’ de waarde http://api.acceptatie.kadaster.nl/haalcentraal-api/wozobjecten/000500030828?fields=waarden,belanghebbendeEigenaar.naam.

Volgens onze test in postman is deze waarde foutief (er wordt ‘http://api.acceptatie.kadaster.nl/wozobjecten/000500030828’ verwacht) wat n.m.m. 2 vragen oproept:

  1. Is de test in postman niet correct of wordt er echt een verkeerde waarde teruggegeven?
    In dat laatste geval is het nog steeds de vraag of de door postman verwachtte waarde wel de juiste is.
  2. Is het correct dat in de link ook de in de uitvraag url gebruikte ‘field’ parameter met waarden zijn meegenomen, die hoort volgens mij immers niet bij de laatste url.

De eerste vraag geldt ook voor de volgende cases

@melsk-r melsk-r added the bug Something isn't working label Sep 27, 2021
@melsk-r
Copy link
Contributor Author

melsk-r commented Sep 30, 2021

Kan zijn dat dit issue gerelateerd is aan #59.

@fsamwel
Copy link
Contributor

fsamwel commented Oct 12, 2021

Naast dat de base url van de self link niet correct is, worden de parameters ook in een andere volgorde opgenomen. Bijvoorbeeld https://api.acceptatie.kadaster.nl/lvwoz/api/v1/wozobjecten?postcode=8621AC&huisnummer=2&fields=identificatie&page=2&pageSize=2:

    "_links": {
        "self": {
            "href": "https://api.acceptatie.kadaster.nl/haalcentraal-api/wozobjecten?postcode=8621AC&huisnummer=2&page=2&pageSize=2&fields=identificatie"
        },

Het idee met de self link is dat de client aan de self-link de response kan koppelen aan het request, dus moet de self link volledig identiek zijn aan wat er gestuurd is, niet alleen functioneel hetzelfde. Dit speelt vooral bij de self link op hoofdniveau (_links.self), minder in link in de collectie (_embedded.wozObjecten._links.self).

@fsamwel
Copy link
Contributor

fsamwel commented Oct 12, 2021

@melsk-r dit issue is dus terecht, de base url voor self links moet gelijk zijn aan de base url zoals die door client is gebruikt. Als ik de link volg die geleverd is, krijg ik een 404 en een html pagina met <title>Kadaster - Pagina niet gevonden</title>

@kad-tromps
Copy link
Contributor

kad-tromps commented Oct 13, 2021

De embedded resources self link krijgt ook de fields parameter mee, omdat anders het resource resultaat niet identiek is aan de embedded resource (alle velden worden getoont ipv de gefilterde weergave in de embedded resources). Zie hier voor ook issue 98

De discrepantie in de URL prefix zou gefixt moeten zijn met de nieuwe URL. Als het goed is heeft Axel hier een mail over gestuurd.

Volgordelijkheid van query parameters is irrelevant voor het resultaat.

@JohanBoer
Copy link
Contributor

In de hal-rfc/draft van Kelly staat het volgende in par. 8.1 :
8.1. Self Link

Each Resource Object SHOULD contain a 'self' link that corresponds
with the IANA registered 'self' relation (as defined by [RFC5988])
whose target is the resource's URI.

In RFC5988 staat :
o Relation Name: self
o Description: Conveys an identifier for the link's context.
o Reference: [RFC4287]

In RFC4287 wordt het volgende gesteld :
3. The value "self" signifies that the IRI in the value of the href
attribute identifies a resource equivalent to the containing
element.

Het gaat hier dus om de interpretatie van de woorden "corresponds" en "equivalent". De "equivalent" uitspraak van RFC4287 neigt ernaar om te stellen dat de volgorde van de parameters irrelevant is.

@fsamwel is er een harde case om de request technisch te kunnen koppelen aan de self-link uit de response zoals je beschreven hebt ?
Indien dat zo is dan is er gewoon de wens om die twee aan elkaar gelijk te houden vanwege het gewenste gebruik door developers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants