Problème de perte de données lors s'appel API

Cf. ci-dessus, syntaxe dmin__ dmax__ ne s’applique pas aux APIs mappées. La seule syntaxe qui a été transposée sur ces APIs spécifiques c’est celle en <min>;<max>

Là ce que je vois de particulier dans votre cas c’est qu’on parle les attributs de timestamps created_dt et update_dt qui sont de type DATETIME, pas DATE donc il faut ajouter l’heure dans le filtre:

createdDt=2010-01-01+00:00:00;2020-01-01+00:00:00

Le + étant l’espace URL-encodé

Ex: sur l’instance de test ci-dessus

> curl -s -H "Authorization: Bearer $TOKEN" "https://testdaz51.dev.simplicite.io/api/ext/TestAPI/resp?cdt=2020-01-01+00:00:00;2023-01-01+00:00:00" | jq '.resp[].cdt'
"2022-10-20 10:04:53"
"2020-05-05 23:48:20"

> curl -s -H "Authorization: Bearer $TOKEN" "https://testdaz51.dev.simplicite.io/api/ext/TestAPI/resp?cdt=2015-01-01+00:00:00;2023-01-01+00:00:00" | jq '.resp[].cdt'
"2022-10-20 10:04:53"
"2015-04-02 15:01:34"
"2015-04-02 15:01:42"
"2016-04-26 17:11:59"
"2016-04-26 13:00:12"
"2015-04-02 15:01:38"
"2016-04-26 13:01:10"
"2015-04-02 15:01:43"
"2016-04-26 12:59:29"
"2020-05-05 23:48:20"

où l’API mappée est désormais:

package com.simplicite.extobjects.Application;

import com.simplicite.util.tools.Parameters;

public class TestAPI extends com.simplicite.webapp.services.RESTMappedObjectsExternalObject {
	private static final long serialVersionUID = 1L;

	@Override
	public void init(Parameters params) {
		addObject("resp", "Responsability");
		addField("resp", "login", "rsp_login_id.usr_login");
		addField("resp", "group", "rsp_group_id.grp_name");
		addField("resp", "date", "rsp_start_dt");
===>	addField("resp", "cdt", "created_dt");
===>	addField("resp", "udt", "updated_dt");
	}
}

Je vais voir si je peux rendre ça un peu plus “malin” = ajouter l’heure si le filtre fourni sur un attribut DATETIME n’indique que la date

Je plussoie :pray: :star_struck:

1 Like

C’est fait, ce sera livré dans la révision 5.1.53.

Je profite de cet échange pour rappeler que la 5.1 ne sera plus maintenue à partir du 31/10/2022 (initialement c’était jusqu’au 30/06/2022 on a prolongé pour laisser le temps de migrer à ceux qui devaient attendre la rentrée).

Je vous recommande donc d’envisager un upgrade en 5.2 rapidement (elle en est actuellement à la révision 5.2.20).

Cet upgrade est normalement transparent il faut juste comme à chaque upgrade vérifier les points d’incompatibilité ascendante cf. la release note : Simplicité® 5/releasenote/releasenote-5.2

Dans votre cas le point le plus notable concerne peut être l’abandon du basic auth pour les appels API, cf. Simplicité® 5/releasenote/releasenote-5.2 (désormais il est obligatoire de faire les appels avec un token, un appel fait sans token étant affecté au user technique public)

1 Like

Hello David,
Des nouvelles sur la révision 5.1.53?

La 5.1.53 a été releasé le 23/10.

Depuis il y a même eu une 5.1.54 (releasée le 31/10)

Pour rappel la 5.1 n’est désormais plus en phase de maintenance (fin de maintenance au 31/10)

1 Like