Moi,
Nykyisellään GraphQL-rajapinnan eri queryissä ei voi tehdä versionumerosuodatusta samalla tavalla kuin REST-rajapinnassa. Esimerkiksi REST-rajapinta Liikennepaikan saapuvat ja lähtevät junat (lukumäärärajoitus) tukee myös version-parametria jolla voi tehdä versiosuodatusta: “Versiorajaus. Palauttaa kaikki junat, jotka ovat muuttuneet sitten version-version. Jos versionumeroa ei anneta, palautetaan uusimmat tiedot.”
Vastaava GraphQL:n query trainsByStationAndQuantity ei suoraan query:n argumenteissa tue samaa version-parametria, jolla voisi tehdä tuollaisen suodatuksen. Query trainsByStationAndQuantity tukee kuitenkin where argumenttia, joka on tyyppiä TrainWhere johon voi asettaa version suodatuksen. Ikävä kyllä tämä version-kentän suodatus on jostain syystä (bugi?) tyyppiä StringWhere joka tukee vain equals / unequals tyyppistä suodatusta, vaikka tarve olisi tehdä IntWhere tyyppinen suodatus jossa olisi vaihtoehdot equals / unquals / greaterThan / lessThan.
Onkohan tässä kyseessä bugi, vai miksi tuo version suodatus on tyyppiä StringWhere eikä IntWhere?
Esimerkiksi seuraavanlaista kyselyä ei voi tehdä:
{ trainsByStationAndQuantity(station: "HKI", where: {version: { greaterThan: 287845501943}}) { trainNumber } }Tämä on ristiriidassa sen kanssa, että esim. junanumerolla joka on myös Int voi kuitenkin tehdä vastaavanalaisen rajauksen:
{ trainsByStationAndQuantity(station: "HKI", where: {trainNumber: { greaterThan: 1234}}) { trainNumber version } }- Vili
Ystävällisin terveisin / Best regards
– Digitraffic asiakastuki / Digitraffic support –