Dyma - REST API Documentation

1 - Informations

Ce service est fourni par Dyma. Il permet de tester votre frontend sans aucun backend ! Vous pouvez sauvegarder n'importe quelles données pendant 10 heures pour tous vos tests.

Dans votre frontend, il suffit d'indiquer comme route :

https://restapi.fr/api/ + collection

collection est le nom de votre ressource, par exemple users, messages, etc.

Attention : utilisez JSON pour POST/PUT/PATCH !

Routes avec ID Mongo (optionnel)

POST api/posts
GET api/posts/id?
PUT api/posts/id?
PATCH api/posts/id?
DELETE api/posts/id?

Filtres

GET    api/posts?title=test&author=paul
GET    api/posts?id=mongodid
DELETE api/posts?author=paul

Options

Utilisez skip et limit pour paginer vos données.

GET api/posts?limit=20
GET api/posts?skip=20&limit=20 // page 2

Tri

Utilisez sort avec asc/1 (croissant) ou desc/-1 (décroissant).

GET api/posts?sort=createdAt:-1
GET api/posts?sort=createdAt:asc

Opérateurs de comparaison

Les opérateurs MongoDB disponibles : $gte, $gt, $lte, $lt.

GET api/authors?likes=$gte:10
GET api/authors?likes=$lt:20

Support des dates au format ISO (ISO 8601 Extended Format).

GET api/authors?createdAt=$gte:2020-01-03T17:17:01.097Z

Pour plusieurs opérateurs de comparaison :

GET api/authors?likes={"$gte":10, "$lte":42}

2 - Générateur

Utilisez cette route pour générer des données pertinentes.

POST https://restapi.fr/generator

Body en JSON. Nombre max de documents : 50.

Paramètres obligatoires

{
    "times": 2,
    "resourceName": "articles"
}

Noms et emails aléatoires

Générez des noms complets, prénoms, noms et emails.

{
    "times": 2,
    "resourceName": "articles",
    "nomComplet": "name",
    "prenom": "firstName",
    "nom": "lastName",
    "email": "email"
}

Nombres aléatoires

Générez des nombres entiers aléatoires avec un intervalle.

{
    "times": 2,
    "resourceName": "articles",
    "age": {
      "type": "number",
      "range": [18, 99]
    }
}

Dates aléatoires

Générez des dates aléatoires avec un intervalle de dates.

{
    "times": 2,
    "resourceName": "articles",
    "date": {
      "range": ["2019-01-04T15:55:21.229Z", "2020-01-04T15:55:21.229Z"],
      "type": "date"
    }
}

Valeurs aléatoires depuis une collection

Générez des valeurs depuis une collection avec unique: true ou false.

{
    "times": 4,
    "resourceName": "articles",
    "likes": {
      "type": "collection",
      "values": [22, 56, 12, 46],
      "unique": true
    }
}

Paragraphes aléatoires

Générez des paragraphes lorem aléatoires.

{
    "times": 2,
    "resourceName": "articles",
    "content": {
      "type": "paragraph",
      "range": [3, 6]
    }
}

Phrases aléatoires

Générez une phrase lorem aléatoire.

{
    "times": 2,
    "resourceName": "articles",
    "title": {
      "type": "sentence",
      "range": [3, 12]
    }
}

Images aléatoires

Générez des liens d'images aléatoires.

{
    "times": 2,
    "resourceName": "articles",
    "image": {
    "type": "image",
    "theme": "fruit",
    "height": 1000,
    "width": 500
    }
}

Photos de profil aléatoires

Générez des photos de profils aléatoires.

{
    "times": 2,
    "resourceName": "articles",
    "profile": {
    "type": "profilePicture",
    "gender": "m"
    }
}

Exemple pour les articles de blog du projet de la formation JS

{
    "times": 20,
    "resourceName": "article",
    "author": "name",
    "img": {
    "type": "profilePicture",
    "gender": "m"
    },
    "category": {
    "type": "collection",
    "values": ["Histoire", "Technologie", "Nature", "Espace"],
    "unique": false
    },
    "title": {
    "type": "sentence",
    "range": [5, 12]
    },
    "content": {
    "type": "paragraph",
    "range": [3, 6]
    }
}

Sauvegarde temporaire de fichiers

Stockez des fichiers pendant 24h pour vos tests avec des formulaires HTML et des objets FormData.

POST https://restapi.fr/upload avec multipart/form-data.

Limites : 10 fichiers de 4Mb maximum par envoi.

Delay

Simulez une requête longue avec un delay en secondes.

GET https://restapi.fr/api/blog/5e16e37846e3e328c19cb656?delay=3

3 - Demande de fonctionnalités

Si vous avez besoin de plus de fonctionnalités, demandez-le nous sur le chat.