Maison développement back-end tutoriel php Explication détaillée de l'interface API Web et des spécifications reposantes

Explication détaillée de l'interface API Web et des spécifications reposantes

Nov 28, 2019 pm 02:47 PM
api restful

Explication détaillée de l'interface API Web et des spécifications reposantes

Qu'est-ce qu'une interface API web ?

Effacez la méthode de requête, fournissez les paramètres requis par le backend correspondant et demandez le lien URL pour obtenir les données de réponse du backend

Méthode de requête : get, poster, put, patch....

Paramètres de requête : données de type clé-valeur au format json ou xml

Résultat de la réponse : renvoyer les données de type clé-valeur au format json ou xml

Comment écrire une interface ?

Écrivez le lien URL en référence à une certaine règle (spécification) et formulez la méthode de requête, les données de la demande et les résultats de la réponse selon les règles

Spécification de l'interface : spécification de l'interface webapi : restful

Introduction RESTful

REST n'a rien à voir avec la technologie. Il représente un style d'architecture logicielle. REST est l'abréviation de Representational State. Transfert, et sa traduction chinoise est "Transfert d'état de représentation" ou "transformation d'état de couche de présentation".

Nom de domaine

Utilisez le mot-clé api pour identifier l'url de l'interface

https://api.example.com
https://example.org/api/
Copier après la connexion

Remarque : Si vous voyez le mot api, cela signifie que la requête le lien URL est avant la fin

Version de l'interaction avec les données d'arrière-plan

1 Mettez les informations de version dans l'URL, telles que :

https://api.example.com/v1/
https://api.example.com/v2/
Copier après la connexion

v1, v2 représente différentes versions de données Retrait, le principe est qu'une ressource de données a plusieurs versions

2. Mettez les informations de version dans l'en-tête de la demande.

chemin d'URL

Tout sur Internet est considéré comme une ressource, et il est représenté par des noms (généralement au pluriel)

https://api.example.com/v1/zoos
https://api.example.com/v1/animals
https://api.example.com/v1/employees
Copier après la connexion

dans le lien url Les récompenses n'apparaissent pas les verbes qui exploitent les ressources

Exemple d'erreur : https://api.baidu.com/delete-user

Les verbes peuvent apparaître dans des interfaces spéciales parce que ceux-ci L'interface n'a généralement pas de ressource claire, ou le verbe est le sens principal de l'interface

https://api.baidu.com/place/search
https://api.baidu.com/login
Copier après la connexion

méthode de demande

GET : retirez-en un ou plus de ressources du serveur )

POST : Créer une nouvelle ressource sur le serveur

PUT : Mettre à jour la ressource sur le serveur (le client fournit la ressource complète modifiée)

PATCH : Mettre à jour la ressource sur le serveur (client Fournir les attributs modifiés sur le client)

DELETE : Supprimer les ressources du serveur

Filtrage

Pass conditions de recherche sous forme de paramètres de téléchargement dans l'url

https://api.example.com/v1/zoos?limit=10:指定返回记录的数量
https://api.example.com/v1/zoos?offset=10:指定返回记录的开始位置
https://api.example.com/v1/zoos?page=2&per_page=100:指定第几页,以及每页的记录数
https://api.example.com/v1/zoos?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序
https://api.example.com/v1/zoos?animal_type_id=1:指定筛选条件
Copier après la connexion

Code de statut

200 OK - [GET] : Le serveur renvoie avec succès les données demandées par l'utilisateur. Cette opération est idempotente.

201 CREATED - [POST/PUT/PATCH] : L'utilisateur a créé ou modifié avec succès les données.

202 Accepté - [*] : Indique qu'une requête est entrée dans la file d'attente en arrière-plan (tâche asynchrone)

204 AUCUN CONTENU - [DELETE] : L'utilisateur a supprimé les données avec succès.

301 : Redirection permanente

302 : Redirection temporaire

400 DEMANDE INVALIDE - [POST/PUT/PATCH] : La requête émise par l'utilisateur a une erreur et le serveur n'a pas procédé. L'opération de création ou de modification de données est idempotente.

401 Non autorisé - [*] : indique que l'utilisateur n'a pas l'autorisation (le jeton, le nom d'utilisateur et le mot de passe sont incorrects).

403 Forbidden - [*] Indique que l'utilisateur est autorisé (contrairement à l'erreur 401), mais que l'accès est interdit.

404 NOT FOUND - [*] : La requête émise par l'utilisateur concerne un enregistrement qui n'existe pas, et le serveur n'a pas effectué l'opération. Cette opération est idempotente.

406 Not Acceptable - [GET] : Le format demandé par l'utilisateur n'est pas disponible (par exemple, l'utilisateur a demandé le format JSON, mais uniquement le format XML).

410 Gone -[GET] : La ressource demandée par l'utilisateur a été définitivement supprimée et ne sera plus obtenue.

422 Entité non traitable - [POST/PUT/PATCH] Une erreur de validation s'est produite lors de la création d'un objet.

500 ERREUR SERVEUR INTERNE - [*] : Une erreur de serveur s'est produite et l'utilisateur ne pourra pas déterminer si la requête effectuée a abouti.

Gestion des erreurs

Lorsque le code d'état est 4xx, les informations d'erreur doivent être renvoyées et l'erreur est utilisée comme clé.

{
    error: "Invalid API key"
}
Copier après la connexion

Résultats de retour

Pour différentes opérations, les résultats renvoyés par le serveur à l'utilisateur doivent être conformes aux spécifications suivantes

GET /collection : Renvoie une liste d'objets ressources (Array)

GET /collection/resource : renvoie un seul objet ressource

POST /collection : renvoie un objet ressource nouvellement généré

PUT / collection/resource : renvoie un objet ressource complet

PATCH /collection/resource : renvoie un objet ressource complet

DELETE /collection/resource : renvoie un document vide

{
    "status": 0,
    "msg": "ok",
    "results":[
        {
            "name":"肯德基(罗餐厅)",
            "location":{
                "lat":31.415354,
                "lng":121.357339
            },
            "address":"月罗路2380号",
            "province":"上海市",
            "city":"上海市",
            "area":"宝山区",
            "street_id":"339ed41ae1d6dc320a5cb37c",
            "telephone":"(021)56761006",
            "detail":1,
            "uid":"339ed41ae1d6dc320a5cb37c"
        }
        ...
        ]
}
Copier après la connexion

API Hypermedia

L'API RESTful est mieux implémentée en tant qu'Hypermedia, c'est-à-dire que des liens sont fournis dans les résultats renvoyés vers d'autres méthodes API, afin que les utilisateurs sachent quoi faire ensuite sans consulter la documentation.

{"link": {
  "rel":   "collection https://www.example.com/zoos",
  "href":  "https://api.example.com/zoos",
  "title": "List of zoos",
  "type":  "application/vnd.yourformat+json"
}}
Copier après la connexion

Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

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)

Comment explorer et traiter les données en appelant l'interface API dans un projet PHP ? Comment explorer et traiter les données en appelant l'interface API dans un projet PHP ? Sep 05, 2023 am 08:41 AM

Comment explorer et traiter les données en appelant l'interface API dans un projet PHP ? 1. Introduction Dans les projets PHP, nous devons souvent explorer les données d'autres sites Web et traiter ces données. De nombreux sites Web fournissent des interfaces API et nous pouvons obtenir des données en appelant ces interfaces. Cet article explique comment utiliser PHP pour appeler l'interface API afin d'explorer et de traiter les données. 2. Obtenez l'URL et les paramètres de l'interface API Avant de commencer, nous devons obtenir l'URL de l'interface API cible et les paramètres requis.

Comment gérer les problèmes d'erreur de l'API Laravel Comment gérer les problèmes d'erreur de l'API Laravel Mar 06, 2024 pm 05:18 PM

Titre : Comment gérer les problèmes d'erreur de l'API Laravel, des exemples de code spécifiques sont nécessaires lors du développement de Laravel, des erreurs d'API sont souvent rencontrées. Ces erreurs peuvent provenir de diverses raisons telles que des erreurs logiques du code du programme, des problèmes de requête de base de données ou des échecs de requête d'API externe. La façon de gérer ces rapports d'erreurs est un problème clé. Cet article utilisera des exemples de code spécifiques pour démontrer comment gérer efficacement les rapports d'erreurs de l'API Laravel. 1. Gestion des erreurs dans Laravel

Enregistrez les données de l'API au format CSV à l'aide de Python Enregistrez les données de l'API au format CSV à l'aide de Python Aug 31, 2023 pm 09:09 PM

Dans le monde des applications et de l'analyse basées sur les données, les API (Application Programming Interfaces) jouent un rôle essentiel dans la récupération de données provenant de diverses sources. Lorsque vous travaillez avec des données API, vous devez souvent stocker les données dans un format facile d'accès et de manipulation. L'un de ces formats est le CSV (Comma Separated Values), qui permet d'organiser et de stocker efficacement les données tabulaires. Cet article explorera le processus de sauvegarde des données API au format CSV à l'aide du puissant langage de programmation Python. En suivant les étapes décrites dans ce guide, nous apprendrons comment récupérer des données de l'API, extraire des informations pertinentes et les stocker dans un fichier CSV pour une analyse et un traitement plus approfondis. Plongeons dans le monde du traitement de données API avec Python et libérons le potentiel du format CSV

Guide d'appel de l'API React : Comment interagir et transférer des données avec l'API backend Guide d'appel de l'API React : Comment interagir et transférer des données avec l'API backend Sep 26, 2023 am 10:19 AM

Guide d'appel ReactAPI : Comment interagir avec et transférer des données vers l'API backend Présentation : Dans le développement Web moderne, interagir avec et transférer des données vers l'API backend est une exigence courante. React, en tant que framework frontal populaire, fournit des outils et fonctionnalités puissants pour simplifier ce processus. Cet article explique comment utiliser React pour appeler l'API backend, y compris les requêtes de base GET et POST, et fournit des exemples de code spécifiques. Installez les dépendances requises : Tout d'abord, assurez-vous qu'Axi est installé dans le projet

Analyse de la stratégie d'intégration des API Oracle : parvenir à une communication transparente entre les systèmes Analyse de la stratégie d'intégration des API Oracle : parvenir à une communication transparente entre les systèmes Mar 07, 2024 pm 10:09 PM

Analyse de la stratégie d'intégration de l'API Oracle : pour parvenir à une communication transparente entre les systèmes, des exemples de code spécifiques sont nécessaires. À l'ère numérique d'aujourd'hui, les systèmes internes de l'entreprise doivent communiquer entre eux et partager des données, et l'API Oracle est l'un des outils importants pour contribuer à une communication transparente. communication entre les systèmes. Cet article commencera par les concepts et principes de base d'OracleAPI, explorera les stratégies d'intégration d'API et enfin donnera des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer OracleAPI. 1. API Oracle de base

Comment développer une API CRUD simple à l'aide de MongoDB Comment développer une API CRUD simple à l'aide de MongoDB Sep 19, 2023 pm 12:32 PM

Comment utiliser MongoDB pour développer une API CRUD simple Dans le développement d'applications Web modernes, les opérations CRUD (Créer, Supprimer, Modifier, Vérifier) ​​sont l'une des fonctions les plus courantes et les plus importantes. Dans cet article, nous présenterons comment développer une API CRUD simple à l'aide de la base de données MongoDB et fournirons des exemples de code spécifiques. MongoDB est une base de données NoSQL open source qui stocke les données sous forme de documents. Contrairement aux bases de données relationnelles traditionnelles, MongoDB n'a pas de schéma prédéfini

Guide d'utilisation de l'API Oracle : exploration de la technologie d'interface de données Guide d'utilisation de l'API Oracle : exploration de la technologie d'interface de données Mar 07, 2024 am 11:12 AM

Oracle est un fournisseur de systèmes de gestion de bases de données de renommée mondiale et son API (Application Programming Interface) est un outil puissant qui aide les développeurs à interagir et à s'intégrer facilement aux bases de données Oracle. Dans cet article, nous approfondirons le guide d'utilisation de l'API Oracle, montrerons aux lecteurs comment utiliser la technologie d'interface de données pendant le processus de développement et fournirons des exemples de code spécifiques. 1.Oracle

Suggestions de développement : Comment utiliser le framework ThinkPHP pour le développement d'API Suggestions de développement : Comment utiliser le framework ThinkPHP pour le développement d'API Nov 22, 2023 pm 05:18 PM

Suggestions de développement : Comment utiliser le framework ThinkPHP pour le développement d'API Avec le développement continu d'Internet, l'importance de l'API (Application Programming Interface) est devenue de plus en plus importante. L'API est un pont de communication entre différentes applications. Elle peut réaliser le partage de données, l'appel de fonctions et d'autres opérations, et offre aux développeurs une méthode de développement relativement simple et rapide. En tant qu'excellent framework de développement PHP, le framework ThinkPHP est efficace, évolutif et facile à utiliser.

See all articles