Cet article présente principalement l'utilisation de laravel dingo/api pour créer une API simple, qui a une certaine valeur de référence. Maintenant, je la partage avec vous. Les amis dans le besoin peuvent s'y référer
1. env configuration File Ajouté
API_STANDARDS_TREE=vnd API_SUBTYPE=myapp API_PREFIX=api API_DOMAIN=null API_VERSION=v1 API_NAME="My API" API_CONDITIONAL_REQUEST=false API_STRICT=false API_DEBUG=true
Arbre des standards Arbre des standards
Il existe trois arbres différents : x, prs et vnd. L'arbre standard que vous utilisez dépend du projet que vous développez
L'arbre non enregistré (x) représente principalement des environnements locaux et privés
L'arbre privé (prs) représente principalement des projets sans sortie commerciale
L'arbre des fournisseurs (vnd) représente principalement des projets rendus publics
Sous-type SOUS-TYPE
Un sous-type est généralement le nom court d'une application ou d'un projet, tous sont en minuscules.
PREFIX (par exemple www.z5w.net/api/)
Si vous avez déjà utilisé une API, vous saurez que la plupart des services proviennent de sous-domaines ou de préfixes. Un préfixe ou un sous-domaine est requis, mais un seul est requis. Veuillez éviter d'utiliser les numéros de version comme préfixe ou sous-domaine, car la gestion des versions est gérée via l'en-tête Accept.
Nom du sous-domaine API_DOMAIN
Par exemple, api.z5w.net peut être utilisé comme adresse d'appel de l'API. Si le préfixe a été défini, le domaine est généralement défini sur null
numéro de version version
Ce numéro de version est le numéro de version par défaut de votre API et sera utilisé dans certains Utilisé comme valeur par défaut pour les rappels lorsqu'aucun numéro de version n'est fourni. Ce numéro de version est également utilisé comme valeur par défaut lors de la génération de la documentation API.
Nom Nom
Le nom de votre API ne sera utilisé que lorsque vous générerez de la documentation à l'aide de la commande API Blueprint. L'utilisation de ce nom vous évite d'avoir à définir manuellement le nom à chaque fois que vous générez un document.
Vous devrez peut-être le mettre entre guillemets.
Demande conditionnelle CONDITIONAL_REQUEST
La "Demande conditionnelle" est activée par défaut, ce qui est bénéfique pour le mécanisme de mise en cache du client pour mettre en cache les requêtes API lorsque cela est possible.
Mode strict STRICT
Le mode strict nécessite que le client envoie l'en-tête Accept au lieu de la version par défaut configurée dans le fichier de configuration. Cela signifie que vous ne pourrez pas accéder à votre API directement via votre navigateur.
Si le mode strict est activé, l'envoi d'un en-tête Accept illégal lèvera une exception non gérée SymfonyComponentHttpKernelExceptionBadRequestHttpException Vous devez gérer cette exception vous-même.
Débogage en mode débogage
Les erreurs courantes gérées par ce package incluent une clé de débogage qui, lorsqu'elle est activée, remplira les détails de la trace de la pile.
2. Ajoutez une route dans /routes/web.php
$api = app('Dingo\Api\Routing\Router'); $api->version('v1', function ($api) { $api->get('helloworld', 'App\Api\Controllers\HelloController@index'); });
3. Créez le fichier /app/Api/Controllers/HelloController.php
<?php namespace App\Api\Controllers; use Illuminate\Http\Request; use App\Http\Controllers\Controller; class HelloController extends Controller { public function index() { return '{content:Helloworld!}'; } }
4 , Test de routage : $ php artisan api:routes, si
+-----+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+ | Host | Method | URI | Name | Action | Protected | Version(s) | Scope(s) | Rate Limit | +------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+ | | GET|HEAD | /api/helloworld | | App\Api\Controllers\HelloController@index | No | v1 | | | +------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
apparaît, cela signifie succès
Puis visitez http://www.*.com/api/helloworld pour voir si c'est le cas. Qu'en est-il des données json de l'API ?
{content:Helloworld!}
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
laravel dingo/api ajoute l'authentification jwt-auth
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!