Maison >développement back-end >tutoriel php >Créez une API simple avec laravel dingo/api

Créez une API simple avec laravel dingo/api

不言
不言original
2018-07-09 09:53:462360parcourir

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 &#39;{content:Helloworld!}&#39;;
    }
}

 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!

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