Maison > cadre php > Laravel > le corps du texte

Qu'est-ce que Dingo dans Laravel

WBOY
Libérer: 2022-02-23 16:39:39
original
2729 Les gens l'ont consulté

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".

Qu'est-ce que Dingo dans Laravel

L'environnement d'exploitation de cet article : système Windows 10, Laravel version 6, ordinateur Dell G3.

Qu'est-ce que Dingo dans Laravel ?

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:

    Routation de la version
  • http exception exception gant
  • Response transformation de transformation de conversion Format de réponse
  • dingoapi est un plug-in open source de Laravel qui peut être recherché sur github. Je travaille actuellement sur un projet, il y aura toujours une interaction de données JSON back-end et front-end, et ce dingoapi offre une grande commodité pour l'interaction JSON. .

Contrôle de version de routage

1. Configurations associées

1 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 version

dingo 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ées

API_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ées

API_STANDARDS_TREE=prs

API_SUBTYPE=lara

API_DEFAULT_FORMAT= json //Par défaut

[Recommandations associées :
tutoriel vidéo laravel

]

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal