Comportamento dei mock
I mock forniscono risposte per lo più statiche alle richieste che corrispondono al contratto dell'API. Rispondono alle richieste senza preoccuparsi di alcuna sicurezza definita sull'API, del payload della richiesta o delle intestazioni della richiesta (tranne l'intestazione Accept che viene utilizzata per la negoziazione del contenuto).
Quando viene effettuata una richiesta, il mock crea una risposta basata su ciò che l'utente ha fornito (esempio, valore predefinito, valore enum) o utilizzando un valore di esempio integrato.
Ad esempio, se la richiesta restituisce un oggetto, viene utilizzato l'esempio dell'oggetto, se fornito. In caso contrario, vengono utilizzati gli esempi su ciascuna delle proprietà e da questi viene creato un oggetto JSON. Questo funziona anche per le intestazioni risposta.
Risposte
- Se l'operazione ha solo un intervallo di risposta, viene restituito il primo stato nell'intervallo. Ad esempio, un'operazione con un intervallo di risposta 2XX restituisce una risposta 200.
- Se l'operazione ha un codice di risposta specifico e intervalli di risposta o una risposta predefinita, viene restituito il codice definito. Ad esempio, un'operazione con una risposta 201 e un intervallo di risposta 3XX restituisce la risposta 201.
- Se l'operazione ha diversi intervalli di risposta e nessuno stato di risposta definito, viene restituito il primo stato del primo intervallo. Ad esempio, un'operazione con un intervallo di risposta 4XX e 5XX restituisce una risposta 400.
- Se l'operazione ha solo una risposta predefinita, la risposta restituita dipende dal metodo dell'operazione:
- Se il metodo utilizzato è POST, viene restituita una risposta 201.
- Per altri metodi, viene restituita una risposta 204 se non è definito alcun corpo della risposta e viene restituita una risposta 200 se è definito un corpo della risposta.
- Se l'operazione non ha una risposta definita, viene restituita una risposta 200.
- Le risposte 1XX non sono supportate dai mock. Se un'operazione ha l'intervallo di risposta 1XX o un codice di risposta definito in questo intervallo, viene restituita una risposta 404.
Combinazioni
- All of: se è definito un esempio, viene restituito. Se non è definito alcun esempio per il tipo di dati, le proprietà dei tipi vengono unite e vengono utilizzati gli esempi definiti a livello di proprietà o vengono generati valori di esempio. Se una proprietà è definita due volte in tipi diversi, viene conservato solo l'ultimo valore. I tipi primitivi vengono scartati, vengono restituiti solo gli oggetti.
- Any of o One of: se è definito un esempio, viene restituito. Se non è definito alcun esempio, viene generata una risposta dal primo tipo nell'elenco.
Restrizioni
- Available in request only: la proprietà è esclusa dall'esempio generato.
- Available in response only: la proprietà è inclusa nell'esempio generato.
- Available in request and response: la proprietà è inclusa nell'esempio generato.
Gli esempi forniti a livello di tipo di dati hanno la precedenza sulle proprietà. Se una proprietà definita come Available in request only è inclusa nell'esempio, viene restituita nella risposta. Se una proprietà definita come Available in response only o Available in request and response non è inclusa nell'esempio, non viene restituita nella risposta.