Ce service vous 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
Où collection est le nom de votre ressource, par exemple users, messages etc.
Attention à bien utiliser du JSON pour POST/PUT/PATCH !
POST api/posts
GET api/posts/id?
PUT api/posts/id?
PATCH api/posts/id?
DELETE api/posts/id?
GET api/posts?title=test&author=paul
GET api/posts?id=mongodid
DELETE api/posts?author=paul
Vous pouvez utiliser skip
et limit
pour paginer vos données.
GET api/posts?limit=20
GET api/posts?skip=20&limit=20 // page 2
Vous pouvez utiliser sort
et spécifier l'ordre avec asc
ou 1
// desc
ou -1
(ascending ou descending).
GET api/posts?sort=createdAt:-1
GET api/posts?sort=createdAt:asc
Vous pouvez utiliser les opérateurs de comparaison MongoDB suivant : $gte
, $gt
, $lte
, $lt
.
GET api/authors?likes=$gte:10
GET api/authors?likes=$lt:20
Nous supportons les dates mais au format ISO (ISO 8601 Extended Format)
GET api/authors?createdAt=$gte:2020-01-03T17:17:01.097Z
Les timestamps seront interprétés comme des nombres et les DateStrings ne fonctionneront pas.
Vous pouvez utiliser plusieurs opérateurs de comparaison avec la syntaxe suivante :
GET api/authors?likes={"$gte":10, "$lte":42}
Vous pouvez utilisez une route pour générer des données pertinentes et les rendre disponibles très facilement.
Le body doit être en
JSON
.
Le nombre maxmimal de documents générés et insérés est de
50
.
Vous devez préciser le nom de votre collection avec
resourceName
.
Vous devez préciser le nombre d'éléments avec
times
.
{
"times": 2,
"resourceName": "articles"
}
Il est très simple de générer des noms complets, prénoms, noms et emails.
Utilisez respectivement
name
,firstName
,lastName
ou
{
"times": 2,
"resourceName": "articles",
"nomComplet": "name",
"prenom": "firstName",
"nom": "lastName",
"email": "email",
}
Pour générer des nombres entiers aléatoirement, il faut utiliser un objet avec type: number
et passer un interval avec range: [min, max]
.
{
"times": 2,
"resourceName": "articles",
"age": {
"type": "number",
"range": [18, 99]
},
}
Pour générer des dates aléatoirement, il faut utiliser un objet avec type: date
et passer un interval avec range: [min, max]
. Où min
est la date limite inférieure et max
la date limite supérieure.
Les limites doivent être des dates JavaScript valides par exemple au format ISOString
.
{
"times": 2,
"resourceName": "articles",
"date": {
"range": ["2019-01-04T15:55:21.229Z", "2020-01-04T15:55:21.229Z"],
"type": "date"
},
}
Pour générer des valeurs aléatoires depuis une collection de valeurs, il faut utiliser un objet avec type: collection
et passer un tableau de valeurs avec values: [val1, ...]
et préciser si les valeurs doivent être uniques ou non avec unique: true
.
Si
unique
vauttrue
, chaque valeur dans le tableau passé àvalues
sera unique en sortie. Il faut alors quevalues
contienne suffisamment d'éléments.
Si
unique
vautfalse
il pourra y avoir plusieurs fois la même valeur en sortie.
{
"times": 4,
"resourceName": "articles",
"likes": {
"type": "collection",
"values": [22, 56, 12, 46],
"unique": true
},
}
Pour générer des paragraphes lorem aléatoirement, il faut utiliser un objet avec type: paragraph
et de passer un interval avec range: [min, max]
. Où min
est le nombre minimal de paragraphes et max
le nombre maximal.
{
"times": 2,
"resourceName": "articles",
"content": {
"type": "paragraph",
"range": [3, 6]
},
}
Pour générer une phrase lorem aléatoirement, il faut utiliser un objet avec type: sentence
et de passer un interval avec range: [min, max]
. Où min
est le nombre minimal de mots dans la phrase et max
le nombre maximal.
{
"times": 2,
"resourceName": "articles",
"title": {
"type": "sentence",
"range": [3, 12]
},
}
Pour générer des liens d'images aléatoires. Il faut utiliser un objet avec type: image
et passer également une hauteur avec height
, une largeur avec width
et un thème avec theme
[le thème doit être en anglais, ex cats].
{
"times": 2,
"resourceName": "articles",
"image": {
"type": "image",
"theme": "fruit",
"height": 1000,
"width": 500
},
}
Pour générer des photos de profils aléatoires. Il faut utiliser un objet avec type: profilePicture
et passer également un genre avec gender
.
Les valeurs possibles de
gender
sontf
,female
,male
,m
,mix
.
{
"times": 2,
"resourceName": "articles",
"profile": {
"type": "profilePicture",
"gender": "m",
},
}
{
"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]
}
}
Vous pouvez stocker des fichiers pendant 24h pour vos tests en utilisant des formulaires HTML et des objets FormData
.
POST https://restapi.fr/upload avec
multipart/form-data
.
Les limites sont : 10 fichiers de 4Mb maximum par envoi.
Vous recevrez en retour un tableau contenant les liens publiques des fichiers que vous pourrez utiliser.
Si vous voulez simuler une requête qui prend du temps (tests de vos timeouts et loaders) :
Ajoutez simplement une query avec un
delay
en secondes.
GET https://restapi.fr/api/blog/5e16e37846e3e328c19cb656?delay=3
Si vous avez besoin de plus de fonctionnalités, demandez le nous sur le chat.