Maison >développement back-end >tutoriel php >Comment utiliser le schéma JSON en PHP pour la validation du schéma API et la vérification du type

Comment utiliser le schéma JSON en PHP pour la validation du schéma API et la vérification du type

王林
王林original
2023-06-17 16:28:021140parcourir

Avec le développement continu de la technologie Web, l'utilisation des API RESTful devient de plus en plus courante, et la vérification des schémas et des types d'API sont devenues un élément très important. En PHP, JSON Schema peut fournir une solution simple et fiable. Cet article explique comment utiliser JSON Schema en PHP pour la vérification du schéma API et la vérification du type.

Qu'est-ce que le schéma JSON ?

JSON Schema est une spécification permettant de décrire et de valider les structures de données JSON. JSON Schema peut vérifier si les données JSON sont conformes au schéma, au type et aux contraintes spécifiés, et peut également fournir une documentation sur les données.

La structure du schéma JSON

La structure du schéma JSON est divisée en trois parties :

1 Mots-clés
Il s'agit de la partie la plus importante du schéma JSON, qui définit les règles et conditions de validation des données, telles que : obligatoire, type, propriétés, minimum, etc. Une liste complète de mots-clés peut être consultée dans la spécification.

2. Instance de schéma
Une instance de schéma est un fichier ou un objet JSON qui décrit la structure de données à vérifier, y compris le type de données, le nom de l'attribut, la plage de valeurs, etc.

3. Métadonnées
Les métadonnées sont les données utilisées pour décrire le schéma JSON lui-même, telles que : le titre, la description, l'identifiant, etc. Ces métadonnées ne seront pas utilisées pour valider les données JSON, mais elles sont importantes pour comprendre le schéma.

Du point de vue des contraintes, JSON Schema peut être considéré comme un métalangage, qui peut décrire tout autre type de format de données.

Comment utiliser le schéma JSON en PHP ?

Utiliser le schéma JSON en PHP est très simple. Il nous suffit d'utiliser une bibliothèque de vérification de schéma JSON, telle que justinrainbow/json-schema pour effectuer la vérification et la vérification de type.

Ce qui suit est un exemple simple :

<?php
use JsonSchemaValidator;

$data = '{
    "name": "John Doe",
    "age": 28,
    "gender": "male",
    "email": "john.doe@example.com",
    "phone": "+1234567890"
}';

$schema = '{
    "title": "User",
    "type": "object",
    "properties": {
        "name": {
            "type": "string"
        },
        "age": {
            "type": "integer",
            "minimum": 18
        },
        "gender": {
            "type": "string",
            "enum": ["male", "female"]
        },
        "email": {
            "type": "string",
            "format": "email"
        },
        "phone": {
            "type": "string",
            "pattern": "^+?d{10,}$"
        }
    },
    "required": ["name", "age", "email"]
}';

$data = json_decode($data);
$schema = json_decode($schema);

$validator = new Validator();
$validator->validate($data, $schema);

if ($validator->isValid()) {
    echo "Data is valid";
} else {
    echo "Data is not valid";
}

Dans l'exemple ci-dessus, JSON Schema peut vérifier si un ensemble de données utilisateur est conforme à notre schéma. Nous pouvons facilement effectuer une validation et une vérification de type en transmettant simplement le schéma et les données ensemble au validateur de l'application.

Résumé

L'utilisation du schéma JSON nous permet de contraindre et de vérifier les données plus facilement, ce qui nous permet de nous sentir plus à l'aise lors du développement d'API. Utiliser le schéma JSON en PHP est très simple, il suffit de transmettre les données et le schéma au validateur. J'espère que cet article pourra vous aider à mieux comprendre le schéma JSON et à l'appliquer au développement réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn