Maison  >  Article  >  cadre php  >  Comment écrire une API dans Laravel

Comment écrire une API dans Laravel

PHPz
PHPzoriginal
2023-04-23 09:13:41964parcourir

Laravel, en tant que framework PHP populaire, est devenu le premier choix des développeurs pour écrire des API. Avec Laravel, vous pouvez écrire rapidement des API de haute qualité, qui sont de plus en plus populaires parmi les développeurs d'entreprise et individuels.

Dans cet article, nous explorerons comment écrire des API à l'aide de Laravel. Nous commencerons par les domaines suivants : création d'API, routage d'API, contrôleurs et tests d'API.

Création d'API

Lors de la création d'une API, vous devez utiliser le middleware et les routeurs intégrés fournis par Laravel. À partir de Laravel 5.5, le framework dispose d'une fonction API Resource Controller intégrée. Cette fonctionnalité permet aux développeurs de créer plus rapidement des API REST standard et les aide à maintenir la cohérence du code.

Comment utiliser le contrôleur de ressources ? Tout d'abord, exécutez la commande suivante sur la ligne de commande pour créer un nouveau contrôleur :

php artisan make:controller Api/PostController --api

Cela créera un contrôleur API nommé PostController, qui héritera automatiquement de Laravel的内置的ResourceController et contiendra toutes les méthodes prédéfinies. Ces méthodes incluent : indexer, afficher, stocker, mettre à jour et détruire.

Routage API

Dans Laravel, le routage est étroitement associé aux contrôleurs car nous devons définir des contrôleurs de niveau supérieur dans le routage qui gèrent les requêtes API.

Route::prefix('api')->group(function () {
    Route::resource('posts', 'Api\PostController');
});

Cette route définit une URL de '/api/posts', qui est utilisée pour faire fonctionner la fonction CRUD du modèle Post.

Contrôleurs

Dans les contrôleurs de ressources, nous pouvons utiliser des fonctions prédéfinies pour gérer les tâches courantes. Par exemple, le code suivant commence à créer et à joindre le téléchargement d'un fichier d'article, déplaçant les fichiers du référentiel vers le répertoire public :

public function store(Request $request)
{
    $path = $request->file('photo')->store('public/photos');
    
    $post = new Post;
    
    $post->title = $request->input('title');
    $post->description = $request->input('description');
    $post->slug = str_slug($request->input('title'));
    $post->photo = $path;
    
    $post->save();
    
    return new Resource($post);
}

Test API

Tester une API est essentiel pour garantir que sa fonctionnalité fonctionne correctement, assurez-vous quand écrire vos cas de test API Write. Laravel dispose également d'outils de test de framework intégrés pour vous aider à rédiger facilement des cas de test.

Lors de l'écriture de tests pour votre API, vous pouvez tester vos contrôleurs en envoyant une requête HTTP et en vérifiant la réponse. Par exemple, le code suivant teste si le contrôleur peut obtenir correctement la liste des publications :

public function testPostIndex()
{
    $response = $this->json('GET', '/api/posts');
    
    $response->assertStatus(200);
    $response->assertJsonStructure([
        'data' => [
            '*' => [
                'id',
                'title',
                'description',
                'slug',
                'photo',
                'created_at',
                'updated_at'
            ]
        ]
    ]);
}

Conclusion

Dans Laravel, écrire des API est très simple. À l'aide de contrôleurs API prédéfinis et de routeurs intégrés, vous pouvez créer rapidement des API REST standard. Utilisez l'outil de test de Laravel pour écrire des cas de test afin de vérifier si la fonctionnalité de l'API fonctionne correctement. Une excellente documentation et le support de la communauté sont des facteurs clés qui font de Laravel l'un des frameworks les plus populaires parmi les développeurs.

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