Python BackEnd:最初のAPI開発
フレームとライブラリの違い
ライブラリ:開発者のコードでライブラリを実行する
フレームワーク:フレームワーク実行開発者のコード
仮想環境にminicondaをインストールする
装着すると「脈拍に有害」「脈拍に悪影響を及ぼす」
こんな恐ろしい話を聞いて怖くなった.
インストールしておきます
しかし、インストール後、$ conda list
でインストールを確認しました.
‘conda command notfound’$ export PATH="/root/anaconda3/bin:$PATH"
彼に道を探して解決した.
とにかく何かを取り付けるのは油断できない.
さすがにきれいにできることは少ないようです
APIの作成
仮想環境の作成
$ conda create --name api python=3.7
まずpython=3.7と入力しませんでした.
Pythonバージョンを選ぶのは私にとって怖いです.
要するに、入力さえすれば、仮想環境を創造します.
また、生成された仮想環境を使用するためには、アクティベーションコードを入力する必要がある
次のコマンドを使用$ source activate api
不思議なことにこれがまたあんなことになった
Virtualenvを使用する場合は、ディレクトリにアクセスして仮想環境を実行する必要があります.
condaの場合、$ source activate api
を入力するだけで実現できます.
入力を無効にします.
conda仮想環境の状態を継続的にチェックするために$ source deactivate
を使用します.
Flashのインストール
まず、コマンドラインの一番前に(api)があることを確認します.
これは本当に重要です.
仮想環境で開発する必要があります
コマンドラインの一番前でチェックした場合(api)$ conda env list
だからだめだ
念のため.$ pip install flask
できる
Virtualenvをそのまま使えばいいですか?こんなに早くこのような考えがあった.
ちょっと不安
まずこの設定が正しいかどうかを確認しますfrom flask import Flask
app = Flask("test")
各端末に1行ずつ配置する.
$ pip3 install flask
を維持し続けるのは問題ないという意味です.
幸いですね.
Pingエンドポイントの実装
エンドポイントとは?
仮想環境の作成
$ conda create --name api python=3.7
まずpython=3.7と入力しませんでした.Pythonバージョンを選ぶのは私にとって怖いです.
要するに、入力さえすれば、仮想環境を創造します.
また、生成された仮想環境を使用するためには、アクティベーションコードを入力する必要がある
次のコマンドを使用
$ source activate api
不思議なことにこれがまたあんなことになった
Virtualenvを使用する場合は、ディレクトリにアクセスして仮想環境を実行する必要があります.
condaの場合、
$ source activate api
を入力するだけで実現できます.入力を無効にします.
conda仮想環境の状態を継続的にチェックするために
$ source deactivate
を使用します.Flashのインストール
まず、コマンドラインの一番前に(api)があることを確認します.
これは本当に重要です.
仮想環境で開発する必要があります
コマンドラインの一番前でチェックした場合(api)
$ conda env list
だからだめだ念のため.
$ pip install flask
できる
Virtualenvをそのまま使えばいいですか?こんなに早くこのような考えがあった.
ちょっと不安
まずこの設定が正しいかどうかを確認します
from flask import Flask
app = Flask("test")
各端末に1行ずつ配置する.$ pip3 install flask
を維持し続けるのは問題ないという意味です.幸いですね.
Pingエンドポイントの実装
エンドポイントとは?
各エンドポイントには固有の機能があります.これらの機能を有するエンドポイントは、集約されて1つのAPIを構成する.
GraphQLは1つのエンドポイントのみを提供します
pingエンドポイントを呼び出すと、応答はpongに戻ります.
そんな簡単なものはどこに使いますか.
フィットネス検査機能に使用します.
フィットネス検査の終点?
これは、APIサーバが実行中であるかどうかを簡単に判断するための機能です.
APIコードの作成と実行
これからは本当に創造します.
まずカタログを1つお売りします
それから私はコードを作ります.ファイルの名前はappです.pyを使います.# Flask를 사용하기 위해 import
from flask import Flask
# import한 Flask 클래스를 객체화(instantiate)하고 변수에 할당
# app변수가 바로 API 어플리케이션이 된다(Flask 웹 어플리케이션)
# app 변수에 API의 설정과 엔드포인트를 추가하면 API가 완성된다
app = Flask(__name__)
# Flask의 route 데코레이터를 사용하여 엔드포인트 등록
# 고유 주소는 /ping HTTP메소드의 종류는 GET
@app.route("/ping", methods=['GET']
# "pong"만을 리턴하는 함수 구현
# Flask가 알아서 HTTP Response로 변환하여 클라이언트에게 전송
def ping():
return "pong"
このコードのポイントは、「エンドポイントの指定方法」です.
# Flask를 사용하기 위해 import
from flask import Flask
# import한 Flask 클래스를 객체화(instantiate)하고 변수에 할당
# app변수가 바로 API 어플리케이션이 된다(Flask 웹 어플리케이션)
# app 변수에 API의 설정과 엔드포인트를 추가하면 API가 완성된다
app = Flask(__name__)
# Flask의 route 데코레이터를 사용하여 엔드포인트 등록
# 고유 주소는 /ping HTTP메소드의 종류는 GET
@app.route("/ping", methods=['GET']
# "pong"만을 리턴하는 함수 구현
# Flask가 알아서 HTTP Response로 변환하여 클라이언트에게 전송
def ping():
return "pong"
関数をエンドポイント
エンドポイントは
最終的には、一般的な関数を実装することと大きな違いはありません
作成したコードファイルを実行するには、ディレクトリに入る必要があります.
>>
ローカルホストhttp://127.0.0.1:5000/で実行します.
次に、APIに接続して、エンドポイントが正常に動作しているかどうかをテストします.pingエンドポイントにHTTPリクエストを送信すればよい.
HTTPリクエストを送信する方法はいろいろありますが、httpieというツールを使ってみます.
$ FLASK_APP=app.py FLASK_DEBUG=1 flask run
インストールが完了したら、以下のコマンドでHTTP Requestを実行します.$ brew install httpie
$ http -v GET http://localhost:5000/ping
はverboseオプションです.HTTPリクエストとレスポンスに関するその他の情報を提供します.
-v
HTTPメソッドを「GET」に指定します.最後のアドレスは
127.0.0.1 IPアドレスの5000ポートで実行されるAPIの/pingで指定されたエンドポイントに対してHTTP要求を発行する
ターミナルではpongと表示されています.
右側の端末がAPIを実行しています.
左側は右側のAPIにリクエストを送信しています.
すなわち、APIはクライアント要求とサーバ応答を伝達している.
また、ブラウザにURLを入力すると、
同様にpong応答が見られる.
バックエンドAPI開発入門における重要な内容
HTTPが重要
HTTPのほかに、他のプロトコルを使用するAPIもあるかもしれませんが、今は考慮する必要はありません.
Reference
この問題について(Python BackEnd:最初のAPI開発), 我々は、より多くの情報をここで見つけました https://velog.io/@cdspacenoob/pyback02テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol