Filtre et tri sur API REST

Post Reply
Aleks
Posts: 6
Joined: 15 Jun 2021, 09:06

Filtre et tri sur API REST

Post by Aleks »

Bonjour,

Pour commencer, merci à Soplanning d'avoir pris le temps de développer une API REST ;)

Par contre je n'arrive pas à comprendre pourquoi quand je fait sur les taches le GET ci-dessous, je n'obtiens pas uniquement les taches du 15 juin 2021 et pas non plus dans l'ordre ?

Code: Select all

/api/endpoint.php/tasks?start_date=2021-06-15
voila l'ordre des taches qu'il me sort :

Code: Select all

2021-06-15
2021-06-16
2021-06-17
2021-06-18
2021-06-15
2021-06-17 ...
J'ai l'impression qu'il y a un tri sur l'ID de la tache.

Dans la doc de l'API, je n'ai vu nul part si on pouvait appliquer un tri sur un autre champ ou alors uniquement limiter au filtre :

Code: Select all

?start_date=2021-06-15
une idée ?

Merci :D
soplanning
Site Admin
Posts: 386
Joined: 31 Aug 2017, 15:58

Re: Filtre et tri sur API REST

Post by soplanning »

Bonjour

La "start_date" est une date de début de la sélection des tâches.
L'API va donc renvoyer toutes les taches dont la date est supérieure ou égale à cette date.
Pour n'avoir que le 2021-06-15, il faut également indiquer la même date en "end_date" pour limiter la sélection.
Attention : un bug sur l'API a été corrigé rapidement après sa sortie, téléchargez à nouveau la v1.48 pour être sûr d'avoir le correctif à ce sujet.

Les tâches récupérées sont effectivement triées par identifiant de tâche et non par date.
On se note de rajouter la possibilité de trier dans la prochaine version.
Aleks
Posts: 6
Joined: 15 Jun 2021, 09:06

Re: Filtre et tri sur API REST

Post by Aleks »

Super merci de l'info.
Je vais essayer en ajoutant une date de fin et aussi télécharger de nouveau la dernière version. ;)
Aleks
Posts: 6
Joined: 15 Jun 2021, 09:06

Re: Filtre et tri sur API REST

Post by Aleks »

soplanning wrote: 15 Jun 2021, 12:27 Bonjour

La "start_date" est une date de début de la sélection des tâches.
L'API va donc renvoyer toutes les taches dont la date est supérieure ou égale à cette date.
Pour n'avoir que le 2021-06-15, il faut également indiquer la même date en "end_date" pour limiter la sélection.
Attention : un bug sur l'API a été corrigé rapidement après sa sortie, téléchargez à nouveau la v1.48 pour être sûr d'avoir le correctif à ce sujet.

Les tâches récupérées sont effectivement triées par identifiant de tâche et non par date.
On se note de rajouter la possibilité de trier dans la prochaine version.
Après avoir téléchargé aujourd'hui la dernière version 1.48, j'ai ajouté la end_date. bizarrement le filtre ne me retourne rien.

Code: Select all

tasks?start_date=2021-06-16&end_date=2021-06-16
Pourtant si je met uniquement la start_date, je récupère bien des taches du 16 juin et plus.

Ce qui est plus étonnant; si je met la start_date à 2021-06-15 et la end_date au 2021-06-20, je n'obtiens toujours rien alors que j'ai 14 taches par jours.

Pas de message d'erreur et j'ai bien le code de retour HTTP 200

Pour info j'utilise PHP cURL
soplanning
Site Admin
Posts: 386
Joined: 31 Aug 2017, 15:58

Re: Filtre et tri sur API REST

Post by soplanning »

Il y a effectivement un pb sur la gestion de la date de fin.
on vous envoie le correctif par email
Aleks
Posts: 6
Joined: 15 Jun 2021, 09:06

Re: Filtre et tri sur API REST

Post by Aleks »

Effectivement, je m’étais rendu compte qu'il y avait un problème dans la condition if($end_date != '') du ficher endpoint.php mais je ne connaissait pas la solution; toutes simple pourtant

Une fois cette correction faite, c'est beaucoup mieux ;)

Merci encore
Post Reply