Maison cadre php Laravel Comment écrire une API dans Laravel

Comment écrire une API dans Laravel

Apr 23, 2023 am 09:13 AM

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
Copier après la connexion

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');
});
Copier après la connexion

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);
}
Copier après la connexion

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'
            ]
        ]
    ]);
}
Copier après la connexion

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La dernière méthode de l'installation de Laravel Framework La dernière méthode de l'installation de Laravel Framework Mar 06, 2025 pm 01:59 PM

La dernière méthode de l'installation de Laravel Framework

Comment construire une API RESTful avec des fonctionnalités avancées à Laravel? Comment construire une API RESTful avec des fonctionnalités avancées à Laravel? Mar 11, 2025 pm 04:13 PM

Comment construire une API RESTful avec des fonctionnalités avancées à Laravel?

Gestion du menu Laravel-Admin Gestion du menu Laravel-Admin Mar 06, 2025 pm 02:02 PM

Gestion du menu Laravel-Admin

Quelle version de Laravel est la meilleure Quelle version de Laravel est la meilleure Mar 06, 2025 pm 01:58 PM

Quelle version de Laravel est la meilleure

Comment mettre en œuvre l'authentification et l'autorisation OAuth2 dans Laravel? Comment mettre en œuvre l'authentification et l'autorisation OAuth2 dans Laravel? Mar 12, 2025 pm 05:56 PM

Comment mettre en œuvre l'authentification et l'autorisation OAuth2 dans Laravel?

Quelles sont les meilleures pratiques pour utiliser Laravel dans un environnement natif du cloud? Quelles sont les meilleures pratiques pour utiliser Laravel dans un environnement natif du cloud? Mar 14, 2025 pm 01:44 PM

Quelles sont les meilleures pratiques pour utiliser Laravel dans un environnement natif du cloud?

Comment créer et utiliser des directives de lame personnalisées à Laravel? Comment créer et utiliser des directives de lame personnalisées à Laravel? Mar 17, 2025 pm 02:50 PM

Comment créer et utiliser des directives de lame personnalisées à Laravel?

Comment puis-je créer et utiliser des règles de validation personnalisées dans Laravel? Comment puis-je créer et utiliser des règles de validation personnalisées dans Laravel? Mar 17, 2025 pm 02:38 PM

Comment puis-je créer et utiliser des règles de validation personnalisées dans Laravel?

See all articles