Hirdetés
- Fotók, videók mobillal
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Bemutatkozott a Poco X7 és X7 Pro
- Fele annyit ér az iPhone Air, mint amennyibe pár hete került
- Nem lesz olcsó a Realme GT 8 Pro Európában
- Android szakmai topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Samsung Galaxy S25 Edge - a tegnap határán
- iPhone topik
Új hozzászólás Aktív témák
-
trisztan94
őstag
Tárgytalan, teljesen elkerülte a figyelmem, hogy van egy COUNT endpointja az api-nak, amivel pont azt tudom csinálni amit akartam: lekérni az oldalmennyiséget....

Bocsesz.
Egy pluginen dolgozom, ami küld egy REST kérést egy API felé.
A trükkös rész az, hogy válaszként maximum 50 elemet kapok vissza oldalanként, hacsak nem mondom meg az uri-ban explicit, hogy hanyadik oldalról kérem a találatokat. Tehát pl. ha tudom, hogy amit keresek az a 151. elem a visszaadott adattömbben, akkor explicit megmondom az API-nak, hogy a 3. oldalról kérem a dolgokat.
Szeretném ilyen 50 elemes oldalakra bontani az oldalt, viszont az a baj, hogy fogalmam sincs honnan tudnám meg, hogy összesen hány oldalnyi elem van.
Ez egy példa response az API-tól:
stdClass Object
(
[ids] => Array
(
[0] => air4304753
[1] => air3432487
[2] => air638963
[3] => air803076
[4] => air3738354
[5] => air2285517
[6] => air4029464
[7] => air4099090
[8] => air3939774
[9] => air4084559
[10] => air4118889
[11] => air754158
[12] => air4583121
[13] => air3282714
[14] => air4445915
[15] => air1168152
[16] => air2867116
[17] => air2454422
[18] => air4526092
[19] => air4160250
[20] => air4396985
[21] => air577969
[22] => air1721789
[23] => air58076
[24] => air1561140
[25] => air206806
[26] => air978130
[27] => air1052042
[28] => air822340
[29] => air2858209
[30] => air3181224
[31] => air1499333
[32] => air1364739
[33] => air4358639
[34] => air1186217
[35] => air1213666
[36] => air1011319
[37] => air254844
[38] => air3774080
[39] => air742998
[40] => air1732428
[41] => air4119371
[42] => air4316805
[43] => air645091
[44] => air206478
[45] => air3439518
[46] => air3698344
[47] => air2070695
[48] => air1721598
[49] => air3062316
)
[queryType] => search
[status] => 200
[page] => 1
[resultsPerPage] => 50
[amtOfNights] => 0
[sort] => default
[isNearQuery] => 1
[runtime] => 55
[result] => Array
()};Látni, hogy visszakaptam 50 elemet, és meg is mondja, hogy ez a page 1.
Ha beírok valami random számot page-nek, mondjuk 123-mat és azon már nincs adat, ez a response jön vissza:
stdClass Object
(
[ids] => Array
(
)
[queryType] => search
[status] => 200
[page] => 123
[resultsPerPage] => 50
[amtOfNights] => 0
[sort] => default
[isNearQuery] => 1
[runtime] => 114
[result] => Array
(
)
)A kérdés:
Hogyan tudom egyszerűen megtudni, hogy összesen hány oldal van amiben van még adat?
Én arra gondoltam, hogy egy while(true) végtelen ciklusban elkezdem küldeni a kéréseket, és minden ciklusban amikor visszajön egy response, ellenőrzöm, hogy az ids tömb nem üres e. Ha igen, akkor paraszt módon ki break-elek a ciklusból.
Ezzel azon kívül, hogy baromi gány, még az a problémám, hogy ahhoz, hogy egyáltalán megtudjam hány oldalnyi kontent van, le kell kérnem az EGÉSZ result setet, ami több másodperc alsó hangon...
Másik alternatívám az, hogy csak next page és previous page gombokat rakok ki, aztán ha egy olyan oldalra lép amin már nincs adat, kap a user egy szomorú szmájlit. Ez viszont nem túl felhasználóbarát, szóval nem nagyon szeretném.
Nincs erre valami szép megoldás?
Új hozzászólás Aktív témák
- Bomba ár! HP ProBook 440 G6 - i5-8GEN I 8GB I 256SSD I HDMI I 14" FHD I Cam I W10 I Gari!
- Bomba ár! Dell Vostro 5490 - i5-10GEN I 16GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 7420 - i7-1185G7 I 16GB I 256SSD I HDMI I 14" 4K I Cam I W11 I Garancia!
- Bomba ár! Dell Latitude 7280 - i5-6GEN I 8GB I 256SSD I 12,5" HD I HDMI I Cam I W11 I Garancia!
- Bomba ár! HP 250 G5 - i5-6GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I HDMI I W11 I Cam I Garancia!
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- AKCÓ! HTC VIVE Pro 2 virtuális valóság szemüveg garanciával hibátlan működéssel
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Lenovo Legion Go S 32GB/1TB kézikonzol garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 11 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3871, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


