API開発


目次

  • Flask
  • の紹介とインストール
  • API基礎機能実施
  • 実行
  • API
  • Flashの紹介とインストール



    Micro Web Frameworkの紹介からも、中からも感じられるように、フラスコは非常に軽いWebフレームワークです.
    他のPython Webフレームワーク(例えば、張高)は複数のモジュールと機能を提供しており、フレームワーク自体が重く、学習曲線が高い可能性があるが、flaskは比較的学習と使用しやすいため、API開発の入門に適したフレームワークである.
    フレーム
    これは特定のシステムを実現するために実現される汎用機能と構造である.Webフレームワークを考慮すると、すべてのWebシステムがソケットを介してネットワークに接続され、外部システムと通信しなければならない.これは実現しなければならないが、規範化され、実現されたコードを再利用すればよい.つまり,FlaskのようなWebフレームワークを用いることで,開発者はWebシステムを通じて提供したいビジネスロジックのみに注目できる.
    conda create --name api python=3.7
    condaを使用してapi名義で仮想環境をインストールする
    //가상환경 활성화
    source activate api
    
    //비활성화
    source deactivate
    
    //현재 생성 되어 있는 가솽환경 확인
    conda env list
    仮想環境を有効にすると、(api)を使用して仮想環境に入ったことを確認できます.
    現在生成されている仮想環境のリストを表示
    pip install flask
    仮想環境にフラスコフレームを取り付ける
    端末でPythonコマンドを実行してPythonインタラクティブモードに入り、次のコードを実行してインストールが正常に完了したことを確認します.
    from flask import Flask
    
    app = Flask('test')

    APIインフラストラクチャの実装:Pingエンドポイント


    しゅうてん


    APIサーバが提供する通信チャネルまたはコンタクトポイント
    クライアント(例えばフロントエンドサーバ)がバックエンドAPIサーバと通信する場合、エンドポイントに接続するように通信する.各エンドポイントには独自のURLアドレスがあり、独自のURLアドレスでエンドポイントに接続されています.
    例えば、SNSサービス用のAPI
  • ユーザ登録エンドポイント
  • ユーザログインエンドポイント
  • 新しい転送エンドポイント
  • 他のユーザーと交友するエンドポイント
    待って
  • Ping End Pointは、テキスト「pong」を返すEnd Pointにすぎません.これは非常に簡単なAPIですが、現在のサーバの稼働状態と停止状態を簡単にチェックする健康診断ポイントとして機能します.
    まず、APIコードを配置するディレクトリを生成します.
    // 디렉토리 생성
    mkdir -p ~/Projects/api
    
    //해당 디렉토리로 이동
    cd ~/Projects/api
    ~ユーザを表すホームディレクトリ
    -pオプションは、ディレクトリの中間パスにディレクトリが存在しない場合、自動的にディレクトリが作成されることを示します.
    apiディレクトリに移動し、そのディレクトリにappを配置します.pyファイルの作成
    パイリファレンスideを使用して作成された画面
    #Flask class import
    from flask import Flask
    
    # import한 Flask 클래스를 객체화 시켜서 app이라는 변수에 저장함
    # 이 app 변수가 Flask 웹 어플리케이션이 되며, 이 app 변수에 API의 설정과 엔드포인트들을 추가하면 API가 완성됨
    app = Flask(__name__)
    
    # Flask의 route 데코레이터(decorator)를 사용하여 엔드포인트 등록
    # 이후 나오는 ping 함수를 엔드포인트 함수로 등록하였으며, 고유주소는 "ping", HTTP 메소드는 GET으로 설정
    @app.route("/ping", methods=['GET'])
    
    # ping함수 정의. route 데코레이터를 통해서 엔드포인트로 등록된 함수이며, "pong"이라는 string을 리턴함
    # Flask가 알아서, HTTP response로 변환하여 해당  HTTP 요청을 보낸 클라이언트에게 전송함
    def ping():
        return "pong"
    フラスコでは、通常、ルーティングレコーダを使用して関数をエンドポイントとして登録する.すなわち,フラスコで端点を実現することは,最終的には一般関数を実現することとあまり変わらず,後端APIの開発も構造的に大きな難易度や複雑さはない.怖がらないで!
    このAPIによって提供されるサービス、すなわちビジネスロジックを実現する関数の開発は、バックエンドAPIにおいて最も重要な概念であり、APIコードの全体構造が決定されると、次の開発は主にエンドポイント、すなわち関数を実現することである.

    APIの起動


    以前に実装されたAPIコードの実行
    仮想環境をアクティブにし、次のコマンドを実行して~/project/apiディレクトリに移動します.
    Flask_APP=app.py FLASK_DEBUG=1 flask run 
  • Flask_APP
    環境変数Flashアプリケーションを実行するファイルを指定します.
  • FLASK_DEBUG
    環境変数を1に設定すると、デバッグモードが有効になり、コード変更時にFlaskアプリケーションが自動的に再起動され、新しいコードがすぐに自動的に反映されます.
    コマンド実行画面
    出力画面のhttp://127.0.0.1:5000/は、実行したばかりのappです.これはpy APIがローカルホストのIPアドレス127.0.0.1:5000から返されていることを意味する.

    ローカルホスト


    ローカルホストとは、システムを実行するコンピュータのことです.
    メインシステム上の固定ホスト名とIPアドレスは、通常のIPアドレスとして使用できません
    実際の接続APIでpingエンドポイントが正常に動作しているかどうかをテストします.pingエンドポイントを接続するために、pingエンドポイントにHTTPリクエストを送信できます.
    // 터미널 환경에서 HTTP 요청을 보낼수 있게 해주는 httpie 툴 설치
    brew install httpie
    
    //터미널에서 요청 보내기
    http -v GET http://localhost:5000/ping
    HTTPリクエストを送信すべきエンドポイントの一意のアドレスを指定
    コマンドは、HTTP要求を、127.0.0.1アドレスの5000ポートで実行されるAPI"/ping"アドレスで指定されたエンドポイントに送信する.
    最終運転画面