Il existe de nombreuses interfaces API sur Internet, du moment qu'un simple appel permet d'obtenir les informations que l'on souhaite, telles que les prévisions météo, la phrase quotidienne, etc. Y compris certaines activités de saisie de coupons, il existe généralement des API qui peuvent être appelées directement.
La première fois que j'ai appelé ma propre fonction API devrait être dans la fonction cloud Tencent, j'ai écrit du code cassé, configuré la passerelle API, puis je peux utiliser le navigateur pour appeler et renvoyer les données en un seul clic, ce qui est assez amusant .
Cette fois, j'en apprendrai plus et j'essaierai de créer moi-même un service WebApi.
01 | Qu'est-ce que WebApi
L'API Web ASP.NET est une infrastructure permettant de créer facilement des services HTTP accessibles par divers clients, y compris les navigateurs et les appareils mobiles. L'API Web ASP.NET est une plate-forme idéale pour créer des applications RESTful sur le .NET Framework.
WebApi peut être considéré comme l'un des types de projets Asp.Net, d'autres types de projets tels que le projet WebForm bien connu, le projet Windows Form, l'application console, etc.
Le plus grand avantage des projets de type WebApi est que les développeurs n'ont plus à se soucier de la sérialisation et de la désérialisation des données transmises entre le client et le serveur, car WebApi est fortement typé et peut être sérialisé et désérialisé automatiquement. La chose la plus importante à propos de l'API Web est qu'elle peut créer des services pour différents clients.
02 | Méthode de requête HTTP
Le protocole HTTP/1.1 définit huit méthodes de requête pour exploiter les ressources spécifiées de différentes manières :
1. OBTENIR
Demande les informations de page spécifiées et renvoie le corps de l'entité. Il est utilisé pour obtenir des données du serveur et ne doit avoir aucune opération ou influence sur le serveur.
2. POSTE
Soumettez des données à une ressource spécifiée pour traiter une demande (telle que la soumission d'un formulaire ou le téléchargement d'un fichier). Les données sont incluses dans le corps de la requête. Les requêtes POST peuvent entraîner la création de nouvelles ressources et/ou la modification de ressources existantes, avec des effets côté serveur.
3. METTRE
Les données transmises du client au serveur remplacent le contenu du document spécifié, c'est-à-dire qu'elles sont utilisées pour mettre à jour une donnée vers le serveur et affecter le serveur (il est aussi possible de créer une nouvelle donnée mais c'est non recommandé).
4. SUPPRIMER
Demander au serveur de supprimer la page spécifiée, ce qui affectera le côté serveur.
5. TÊTE
Semblable à une requête GET, sauf qu'il n'y a pas de contenu spécifique dans la réponse renvoyée, qui est utilisée pour obtenir l'en-tête
6. OPTIONS
Permet aux clients d'afficher les performances du serveur.
7. CONNECTEZ-VOUS
Réservé dans le protocole HTTP/1.1 aux serveurs proxy qui peuvent diriger les connexions vers.
8. RECHERCHE
Fait écho aux requêtes reçues par le serveur, principalement à des fins de test ou de diagnostic.
De cette manière, les quatre premières méthodes de requête peuvent simplement correspondre à l'interrogation, l'ajout, la modification et la suppression de données. Ceci est également recommandé pour WebApi. Dans le projet WebApi, ce que nous demandons n'est plus une page spécifique, mais une méthode dans chaque contrôleur. La requête de type Get est envoyée à la méthode commençant par Get pour traitement, et la requête de type Post est envoyée à la méthode commençant par Post pour traitement. Il en va de même pour Put et Delete.
Il est également possible d'avoir plusieurs méthodes commençant par Get, à ce stade, comment distinguer quelle méthode exécuter ? Cela dépend des paramètres entrants des méthodes au début de Get, qui peuvent être distingués ultérieurement dans le code.
03 | Pratique Python - FastAPI
FastAPI est un framework Web moderne et rapide (haute performance) pour la création d'API, utilisant Python 3.6+ et basé sur des conseils de type Python standard. Principales caractéristiques:
Rapide : Extrêmement performant aux côtés de NodeJS et Go (grâce à Starlette et Pydantic), l'un des frameworks Web Python les plus rapides.
Utilisez Python pour écrire un code simple. Tout d'abord, les bibliothèques pip uvicorn et fastapi sont divisées en deux fichiers. Un nom de fichier est arbitraire et sa fonction est de démarrer le service, appelé fichier A ; l'autre est la fonction api code, appelé fichier B. Un code de fichier est le suivant :
import uvicorn
if __name__ == '__main__':
uvicorn.run(app='webapi:app', host='127.0.0.1', port=3000, reload=True)
Dans le code, webapi:app est le nom de fichier et le nom de service du fichier B, donc le nom de fichier du fichier B est webapi.py, et le nom de l'objet de service à l'intérieur est app, et l'adresse IP et le port sont ensemble. Le code du fichier B est le suivant :
from fastapi import FastAPI
import time,requests
app = FastAPI()
@app.get("/")
def info():
return {"key": "欢迎关注【偶尔敲代码】"}
@app.get("/time")
def info():
t = int(time.time())
return {"time": str(t)}
#
@app.get("/yy")
def info():
r = requests.get("https://apis.jxcxin.cn/api/yiyan?type=json")
print(r)
return r.text
Le code du fichier B définit 3 fonctions api, à savoir "/", "/time" et "/yy".
L'exécution des deux fichiers d'AB équivaut à démarrer le service webapi. A ce moment, combiné avec l'adresse IP et le port définis dans notre fichier A, accédez-y directement sur le navigateur : http://127.0.0.1:3000
La fonction "/" dans l'API peut être déclenchée et le résultat sera renvoyé en fonction des paramètres du code B.
Accédez à http://127.0.0.1:3000/time directement sur le navigateur pour déclencher la fonction "/time" dans l'API :
Accédez à http://127.0.0.1:3000/yy directement sur le navigateur pour déclencher la fonction "/yy" dans l'API :
Après le débogage, déployez le fichier ci-dessus sur le serveur, modifiez l'adresse IP correspondante en adresse IP publique du serveur et ouvrez le numéro de port correspondant pour réaliser l'accès.
04 | Pratique du langage facile - Framework WebAPI
Il s'agit d'un framework WebAPI que j'ai trouvé sur Internet. J'ai juste besoin d'écrire des plug-ins pour les fonctions API associées, ce qui signifie la même chose que le fichier Python B ci-dessus, ce qui est assez pratique. La fonction ressemble probablement à ceci : le serveur exécute le framework, puis charge son propre plug-in et définit sa propre méthode d'appel dans le plug-in.
Résumer:
1. WebApi est très pratique pour plusieurs plates-formes, tant que vous pouvez appeler des commandes http ;
2. Vous devez avoir votre propre serveur si vous le construisez vous-même
- Fin -
Des articles plus passionnants
Cliquez sur la carte de visite ci-dessous pour suivre 【Type occasionnellement code】