TL;DR
--Qiitas API-Wrapper-Bibliothek "qiipy" wurde erstellt. --Unvollendet
Neulich habe ich meine eigene Bibliothek namens apywrapper erstellt, mit der sich ein API-Wrapper problemlos entwickeln lässt. Deshalb wollte ich seine Leistung testen.
Der Code, den ich tatsächlich geschrieben habe, ist ~~~~
Definieren Sie zunächst das Modell wie folgt ...
from typing import Optional
from dataclasses import dataclass
@dataclass
class User:
id: str
permanent_id: int
name: str
profile_image_url: str
team_only: bool
followees_count: int
followers_count: int
items_count: int
description: Optional[str] = None
organization: Optional[str] = None
location: Optional[str] = None
facebook_id: Optional[str] = None
github_login_name: Optional[str] = None
linkedin_id: Optional[str] = None
twitter_screen_name: Optional[str] = None
website_url: Optional[str] = None
@dataclass
class Comment:
body: str
created_at: str
id: str
rendered_body: str
updated_at: str
user: User
Danach fühlt es sich an, als würde man eine API definieren (Sie müssen sich nicht um Parameter wie Abfragen, Pfadvariablen, JSON usw. kümmern).
from apywrapper import Apy, get, post, delete, patch
from ._models import Comment
class Qiipy(Apy):
def __init__(self, access_token: str, host: str = "https://qiita.com/api/v2"):
super().__init__(host=host, headers={"Authorization": f"Bearer {access_token}"})
@get("/comments/{comment_id}")
def get_comment(self, comment_id: str):
"""Erhalten Sie Kommentare
Args:
comment_id:Kommentar-ID
Returns:
Comment
"""
return Comment, {"comment_id": comment_id}
@delete("/comments/{comment_id}")
def delete_comment(self, comment_id: str):
"""Kommentar löschen
Args:
comment_id:Kommentar-ID
Returns:
None
"""
return None, {"comment_id": comment_id}
...
das ist alles! w
Wenn Sie den Code vorerst erklären
@method("/path/to/api") #API-Pfad
def get_something(self, item_id: str):
return Something, {"item_id": item_id}
#in diesem Fall`item_id`Wird zur Abfrage(Weil der Pfad keine Variablen enthält)
#Der Rückgabewert ist`Something`Objekt
from qiipy import Qiipy
qiita = Qiipy(access_token="xxx")
qiita.get_comment("zzzzzzzzz") #Kommentarobjekt wird zurückgegeben
Fühle mich wie
Ich freue mich darauf, mit Dir zu arbeiten.
Recommended Posts