Ce que je veux, c'est obtenir un objet d'une API avec une requête HTTP (par exemple, AJAX de jQuery) vers une API externe. Comment commencer? J'ai fait des recherches sur M. Google mais je ne trouve rien qui m'aide.
Je commence à me demander si c'est encore possible? Dans cet article, Laravel 4 fait une demande de publication du contrôleur à une URL externe avec des données, il semble que cela puisse être fait. Mais il n'y a aucun exemple ni aucune source où trouver de la documentation.
Sil te plait aide moi?
Réponses:
Basé sur une réponse à une question similaire ici: https://stackoverflow.com/a/22695523/1412268
Jetez un œil à Guzzle
la source
On peut utiliser le package Guzzle dans Laravel, c'est un client PHP HTTP pour envoyer des requêtes HTTP.
Vous pouvez installer Guzzle via composer
Ou vous pouvez spécifier Guzzle comme dépendance dans le fichier composer.json existant de votre projet
Exemple de code dans laravel 5 en utilisant Guzzle comme indiqué ci-dessous,
la source
// "200"
doit être// 200
parce que la valeur renvoyée est un entier.Vous souhaitez simplement appeler une URL externe et utiliser les résultats? PHP fait cela hors de la boîte, si nous parlons d'une simple requête GET à quelque chose qui sert JSON:
Si vous voulez faire une demande de publication, c'est un peu plus difficile mais il y a beaucoup d'exemples comment faire cela avec curl.
Donc je suppose que la question est; Que voulez-vous exactement?
la source
À partir de Laravel v7.X , le framework est désormais livré avec une API minimale enveloppée autour du client HTTP Guzzle . Il fournit un moyen simple de faire des requêtes get , post , put , patch et delete à l'aide du client HTTP :
Vous pouvez gérer les réponses à l'aide de l'ensemble des méthodes fournies par l'
Illuminate\Http\Client\Response
instance renvoyée.Veuillez noter que vous devrez, bien sûr, installer Guzzle comme ceci:
Il y a beaucoup plus de fonctionnalités utiles intégrées et vous pouvez en savoir plus sur ces ensembles de fonctionnalités ici: https://laravel.com/docs/7.x/http-client
C'est définitivement le moyen le plus simple de faire des appels d'API externes dans Laravel.
la source
Mis à jour le 21 mars 2019
Ajouter un
GuzzleHttp
package à l'aide decomposer require guzzlehttp/guzzle:~6.3.3
Ou vous pouvez spécifier Guzzle comme une dépendance dans votre projet
composer.json
Inclure la ligne ci-dessous en haut de la classe où vous appelez l'API
Ajouter ci-dessous le code pour faire la demande
la source
En définitive, pour tout projet PHP, vous souhaiterez peut-être utiliser GuzzleHTTP pour l'envoi de requêtes. Guzzle a une très belle documentation que vous pouvez consulter ici . Je veux juste dire que, vous souhaitez probablement centraliser l'utilisation de la classe Client de Guzzle dans n'importe quel composant de votre projet Laravel (par exemple un trait) au lieu de créer des instances Client sur plusieurs contrôleurs et composants de Laravel (autant d'articles et réponses suggèrent).
J'ai créé un trait que vous pouvez essayer d'utiliser, qui vous permet d'envoyer des requêtes à partir de n'importe quel composant de votre projet Laravel, en l'utilisant simplement et en appelant
makeRequest
.Notez que cette caractéristique peut même gérer l'envoi de fichiers.
Si vous voulez plus de détails sur ce trait et d'autres éléments pour intégrer ce trait à Laravel, consultez cet article . De plus, si vous êtes intéressé par ce sujet ou avez besoin d'une assistance majeure, vous pouvez suivre mon cours qui vous guide tout au long du processus.
J'espère que cela vous aidera tous.
Meilleurs vœux :)
la source
Vous pouvez utiliser Httpful:
Site Web: http://phphttpclient.com/
Github: https://github.com/nategood/httpful
la source