Aller au contenu

NOUVEAUIshedDB 1.0 : venez de MongoDB avec vos données, copie vérifiée document par document. En savoir plus →

‹ Toutes les intégrations

Dart

IshedDB depuis un serveur Dart, par l'API HTTPS, avec dart:io.

Commencer
TYPE D'INTÉGRATION
IshedDBAPI HTTPS

IshedDB et Dart : présentation

HttpClient de dart:io envoie les requêtes JSON depuis vos serveurs et outils Dart.

La clé d'accès ne figure jamais dans le code : elle est lue dans les variables d'environnement ISHED_URL et ISHED_KEY, sur votre serveur.

Exemple

patients.dart · Dart
import 'dart:convert';
import 'dart:io';

final base = '${Platform.environment['ISHED_URL']!.replaceAll(RegExp(r'/$'), '')}/v1/bases/DB/collections/patients';
final key = Platform.environment['ISHED_KEY']!;
final http = HttpClient()..connectionTimeout = const Duration(seconds: 10);

Future<Map<String, dynamic>> call(String path, Object body) async {
  final request = await http.postUrl(Uri.parse('$base$path'));
  request.headers.set(HttpHeaders.authorizationHeader, 'Bearer $key');
  request.headers.contentType = ContentType.json;
  request.write(jsonEncode(body));
  final response = await request.close();
  final text = await response.transform(utf8.decoder).join();
  if (response.statusCode >= 300) throw HttpException('IshedDB : ${response.statusCode}');
  return jsonDecode(text) as Map<String, dynamic>;
}

Future<void> main() async {
  await call('/documents', {'data': {'nom': 'Awa Diop', 'ville': 'Dakar'}});
  final found = await call(':query', {'where': [['ville', '==', 'Dakar']], 'limit': 20});
  for (final doc in found['documents'] as List) {
    print(doc['data']['nom']);
  }
  http.close();
}

✓ Cet exemple est exécuté par nos tests contre un vrai serveur IshedDB.

Articles et documentation

Vous voulez voir votre technologie ici ?

Dites-nous ce que vous utilisez : nous écrivons l'exemple et nous le vérifions.

Nous écrire