Dans laravel, dingo est une boîte à outils de développement d'API pour les frameworks laravel et lumen ; il a principalement trois fonctions : la gestion des versions de routage, la gestion des exceptions "Http Exception" et le format de réponse de conversion "Response Transform".
L'environnement d'exploitation de cet article : système Windows 10, Laravel version 6, ordinateur Dell G3.
dingo est une boîte à outils de développement d'API pour les frameworks Laravel et Lumen. Looking au niveau du répertoire de document, basé sur la spécification de l'API, il tourne autour de trois fonctions principales:
Contrôle de version de routage
1. Configurations associées1 déclarer le service API
Exigences de spécification API, développement d'interface soit avec le préfixe API (http://XXX.com/api/xxx), soit Il s'agit d'un nom de sous-domaine (http://api.XXX.com/xxx). Grâce à une telle identification, cela signifie que la demande concerne le service d'interface API.
Donc, l'un des API_PREFIX=api et API_DOMAIN=api.myapp.com doit être défini.
Options .env qu'il faudra peut-être configurer
Bien sûr, son rôle n'est pas seulement un identifiant Nous savons que le routage de Dingo et le routage de Laravel coexistent, et Dingo le juge à travers cette fonctionnalité.
2 contrôle de versiondingo fournit son propre service de routage, si l'on accède à http://XXX.com/api/xxx ou http://api.XXX.com/xxx, cela est considéré comme une requête API, Le service de routage Dingo DingoApiRoutingRouter reprendra le propre service de routage de Laravel, IlluminateRoutingRouter (pour ce qui est de savoir comment prendre le relais, j'en parlerai plus tard). méthodes, ce qui équivaut à un autre ensemble de systèmes de routage.
Si Laravel distingue les versions, vous devrez peut-être apporter un préfixe v1, tel que http://XXX.com/api/v1 ou http://XXX.com/api/v2. Et Dingo est traité via l'en-tête Accepter. Son format est Accepter : application/vnd.YOUR_SUBTYPE.v1+json. Cela signifie que vous devez envoyer un en-tête de demande d'acceptation pour y accéder.
Dans le fichier de configuration, ce mode n'est pas obligatoire par défaut, API_STRICT=false, mais vous ne pouvez accéder qu'à la version par défaut dans le fichier de configuration, 'version' => env('API_VERSION', 'v1'),.
S'il est défini sur true, c'est-à-dire que le mode strict est activé, l'en-tête d'acceptation doit être envoyé et votre API n'est pas accessible directement via le navigateur.
Options du.env qui peuvent devoir être configuréesAPI_STRICT=true //Pour activer le mode strict, vous devez apporter les informations d'en-tête d'acceptation quelle que soit la v1 ou la v2
API_VERSION=v1 //Le numéro de version par défaut quand non le numéro de version est déclaré
Si le mode strict est activé
Il existe plusieurs options pour l'attribut accept de l'en-tête :
Accepter : application/vnd.YOUR_SUBTYPE.v1+json
API_STANDARDS_TREE=x,prs,vnd Standards Tree Standards Tree
API_SUBTYPE=myapp sub Type : Nom court du programme ou du projet
v1 : Numéro de version
json : Le format renvoyé, qui peut également être jsonp
.env Options qui peuvent devoir être configuréestutoriel vidéo laravelAPI_STANDARDS_TREE=prs
API_SUBTYPE=lara
API_DEFAULT_FORMAT= json //Par défaut
[Recommandations associées :
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!