Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

အကယ်၍ သင်သည် ဤဆောင်းပါးကို ဖတ်ရှုနေပါက၊ API (Application Programming Interface) ကို အသုံးပြု၍ ပါ၀င်လာသော ဖြစ်နိုင်ခြေများနှင့် ပတ်သက်၍ သင် ရင်းနှီးပြီးသား ဖြစ်ကောင်းဖြစ်နိုင်ပါသည်။

သင့်အပလီကေးရှင်းသို့ဖွင့်ထားသော API အများအပြားထဲမှ တစ်ခုကို ပေါင်းထည့်ခြင်းဖြင့်၊ သင်သည် အပလီကေးရှင်း၏လုပ်ဆောင်နိုင်စွမ်းကို တိုးချဲ့နိုင်သည် သို့မဟုတ် ၎င်းကို လိုအပ်သောဒေတာဖြင့် ဖြည့်တင်းနိုင်သည်။ သို့သော် သင်သည် အသိုင်းအဝိုင်းနှင့် မျှဝေလိုသည့် ထူးခြားသောအင်္ဂါရပ်တစ်ခုကို တီထွင်ခဲ့လျှင်ကော။

အဖြေက ရိုးရှင်းပါတယ်- သင်လိုအပ်ပါတယ်။ သင်၏ကိုယ်ပိုင် API ကိုဖန်တီးပါ။.

ဒါက အစပိုင်းမှာ ခက်ခဲတဲ့အလုပ်လို့ ထင်ရပေမယ့် တကယ်တမ်းတော့ ရိုးရှင်းပါတယ်။ Python ကို အသုံးပြု၍ ၎င်းကို မည်သို့လုပ်ဆောင်ရမည်ကို သင့်အား ပြသပါမည်။

စတင်ရန် သင်ဘာလိုအပ်သနည်း။

API တစ်ခုတည်ဆောက်ရန် သင်လိုအပ်သည်-

  • Python3;
  • ဘူး - ဝဘ်အက်ပလီကေးရှင်းများဖန်တီးရန်အတွက် ရိုးရှင်းပြီး အသုံးပြုရလွယ်ကူသော framework တစ်ခု။
  • ပုလင်း-အအေးဓာတ် REST API ကို လျင်မြန်စွာနှင့် အနည်းငယ်မျှသာ ဖွဲ့စည်းမှုဖြင့် ဖန်တီးနိုင်စေမည့် Flask အတွက် extension တစ်ခုဖြစ်သည်။

တပ်ဆင်ခြင်းကို command ဖြင့်လုပ်ဆောင်သည်-

pip install flask-restful

စတင်သူများအတွက် အခမဲ့ အထူးတလည် ပရိုဂရမ်းမင်းသင်တန်းကို အကြံပြုလိုပါသည်။
C# တွင် Telegram bot ဖွံ့ဖြိုးတိုးတက်မှု - သြဂုတ် ၂၆-၂၈။ assistant bots များ မည်သို့အလုပ်လုပ်ပုံ၊ Telegram API နှင့် လုပ်ဆောင်ခြင်းဆိုင်ရာ အသေးစိတ်အချက်များနှင့် အခြားသော ကွဲပြားချက်များကို နားလည်နိုင်စေမည့် အခမဲ့ အထူးကြပ်မတ်သင်တန်း။ အကောင်းဆုံးပါဝင်သူ သုံးဦးသည် Skillbox မှ ရူဘယ် 30 ရရှိမည်ဖြစ်သည်။.

မစတင်မီ

ကျွန်ုပ်တို့သည် အခြေခံဖြင့် RESTful API ကို တီထွင်တော့မည်ဖြစ်သည်။ CRUID လုပ်ဆောင်နိုင်စွမ်း.

လုပ်ငန်းတာဝန်ကို အပြည့်အဝနားလည်ရန် အထက်ဖော်ပြပါ ဝေါဟာရနှစ်ခုကို နားလည်ကြပါစို့။

REST ဆိုတာဘာလဲ။

REST API (Representational State Transfer) သည် ဒေတာဖလှယ်ရန် HTTP တောင်းဆိုချက်များကို အသုံးပြုသည့် API တစ်ခုဖြစ်သည်။

REST API များသည် သတ်မှတ်ထားသော သတ်မှတ်ချက်များနှင့် ပြည့်မီရမည်-

  • ကလိုင်းယင့်-ဆာဗာတည်ဆောက်ပုံ- ကလိုင်းယင့်သည် အသုံးပြုသူအင်တာဖေ့စ်နှင့် အပြန်အလှန်အကျိုးသက်ရောက်ပြီး ဆာဗာသည် နောက်ခံဖိုင်နှင့် ဒေတာသိုလှောင်မှုနှင့် အပြန်အလှန်အကျိုးသက်ရောက်သည်။ client နှင့် server သည် သီးခြားဖြစ်ပြီး ၎င်းတို့ကို အခြားတစ်ခုမှ သီးခြားအစားထိုးနိုင်ပါသည်။
  • နိုင်ငံမဲ့ - ဆာဗာပေါ်တွင် သုံးစွဲသူဒေတာကို သိမ်းဆည်းထားခြင်းမရှိပါ။ စက်ရှင်အခြေအနေအား သုံးစွဲသူဘက်မှ သိမ်းဆည်းထားသည်။
  • Cacheability - ဖောက်သည်များသည် အလုံးစုံစွမ်းဆောင်ရည်တိုးတက်စေရန် ဆာဗာတုံ့ပြန်မှုများကို ကက်ရှ်လုပ်နိုင်ပါသည်။

CRUD ဆိုတာ ဘာလဲ

ရေနံချောင်း အခြေခံလုပ်ဆောင်ချက်လေးခု (ဖန်တီးရန်၊ ဖတ်ရန်၊ မွမ်းမံရန်နှင့် ဖျက်ရန်) ကိုဖော်ပြသည့် ပရိုဂရမ်းမင်းအယူအဆတစ်ခုဖြစ်သည်။

REST API တွင်၊ တောင်းဆိုချက်အမျိုးအစားများနှင့် တောင်းဆိုမှုနည်းလမ်းများသည် ပို့စ်၊ ရယူရန်၊ တင်ခြင်း၊ ဖျက်ခြင်းကဲ့သို့သော လုပ်ဆောင်မှုများအတွက် တာဝန်ရှိပါသည်။

ယခုအခါ အခြေခံအသုံးအနှုန်းများကို နားလည်ပြီး API ကို စတင်ဖန်တီးနိုင်ပါပြီ။

ပုံစံ

Artificial Intelligence အကြောင်း ကိုးကားချက်များ၏ သိုလှောင်မှုတစ်ခုကို ဖန်တီးကြပါစို့။ AI သည် ယနေ့ခေတ်တွင် အလျင်မြန်ဆုံး ကြီးထွားလာသော နည်းပညာများထဲမှ တစ်ခုဖြစ်ပြီး Python သည် AI နှင့် လုပ်ဆောင်ရန်အတွက် ရေပန်းစားသော ကိရိယာတစ်ခုဖြစ်သည်။

ဤ API ဖြင့် Python developer သည် AI နှင့်ပတ်သက်သော အချက်အလက်များကို လျင်မြန်စွာရနိုင်ပြီး တိုးတက်မှုအသစ်များဖြင့် လှုံ့ဆော်မှုရယူနိုင်သည်။ ဆော့ဖ်ဝဲရေးသားသူသည် ဤအကြောင်းအရာနှင့် ပတ်သက်၍ အဖိုးတန်သော အတွေးအမြင်များရှိပါက၊ ၎င်းတို့ကို သိုလှောင်ခန်းတွင် ထည့်သွင်းနိုင်မည်ဖြစ်သည်။

လိုအပ်သော module များကိုတင်သွင်းပြီး Flask ကိုစတင်ခြင်းဖြင့်စတင်ကြပါစို့။

from flask import Flask
from flask_restful import Api, Resource, reqparse
import random
app = Flask(__name__)
api = Api(app)

ဤအတိုအထွာတွင်၊ Flask၊ Api နှင့် Resource များသည် ကျွန်ုပ်တို့လိုအပ်သော အတန်းများဖြစ်သည်။

Reqparse သည် Flask-RESTful query parsing interface တစ်ခုဖြစ်သည်။

ယခုကျွန်ုပ်တို့သည် AI နှင့်ပတ်သက်သောကိုးကားချက်များ၏သိုလှောင်မှုတစ်ခုကိုဖန်တီးပါမည်။

repo ထည့်သွင်းမှုတစ်ခုစီတွင်-

  • ဒစ်ဂျစ်တယ် ID;
  • quotation ၏ရေးသားသူအမည်;
  • ကိုးကား။

၎င်းသည် လေ့ကျင့်ရေးနမူနာတစ်ခုမျှသာဖြစ်သောကြောင့်၊ ဖိုင်အားလုံးကို Python စာရင်းတစ်ခုတွင် သိမ်းဆည်းပါမည်။ တကယ့်အပလီကေးရှင်းတစ်ခုတွင်၊ ကျွန်ုပ်တို့အစား ဒေတာဘေ့စ်ကို အသုံးပြုဖွယ်ရှိသည်။

ai_quotes = [
    {
        "id": 0,
        "author": "Kevin Kelly",
        "quote": "The business plans of the next 10,000 startups are easy to forecast: " +
                 "Take X and add AI."
    },
    {
        "id": 1,
        "author": "Stephen Hawking",
        "quote": "The development of full artificial intelligence could " +
                 "spell the end of the human race… " +
                 "It would take off on its own, and re-design " +
                 "itself at an ever increasing rate. " +
                 "Humans, who are limited by slow biological evolution, " +
                 "couldn't compete, and would be superseded."
    },
    {
        "id": 2,
        "author": "Claude Shannon",
        "quote": "I visualize a time when we will be to robots what " +
                 "dogs are to humans, " +
                 "and I’m rooting for the machines."
    },
    {
        "id": 3,
        "author": "Elon Musk",
        "quote": "The pace of progress in artificial intelligence " +
                 "(I’m not referring to narrow AI) " +
                 "is incredibly fast. Unless you have direct " +
                 "exposure to groups like Deepmind, " +
                 "you have no idea how fast — it is growing " +
                 "at a pace close to exponential. " +
                 "The risk of something seriously dangerous " +
                 "happening is in the five-year timeframe." +
                 "10 years at most."
    },
    {
        "id": 4,
        "author": "Geoffrey Hinton",
        "quote": "I have always been convinced that the only way " +
                 "to get artificial intelligence to work " +
                 "is to do the computation in a way similar to the human brain. " +
                 "That is the goal I have been pursuing. We are making progress, " +
                 "though we still have lots to learn about " +
                 "how the brain actually works."
    },
    {
        "id": 5,
        "author": "Pedro Domingos",
        "quote": "People worry that computers will " +
                 "get too smart and take over the world, " +
                 "but the real problem is that they're too stupid " +
                 "and they've already taken over the world."
    },
    {
        "id": 6,
        "author": "Alan Turing",
        "quote": "It seems probable that once the machine thinking " +
                 "method had started, it would not take long " +
                 "to outstrip our feeble powers… " +
                 "They would be able to converse " +
                 "with each other to sharpen their wits. " +
                 "At some stage therefore, we should " +
                 "have to expect the machines to take control."
    },
    {
        "id": 7,
        "author": "Ray Kurzweil",
        "quote": "Artificial intelligence will reach " +
                 "human levels by around 2029. " +
                 "Follow that out further to, say, 2045, " +
                 "we will have multiplied the intelligence, " +
                 "the human biological machine intelligence " +
                 "of our civilization a billion-fold."
    },
    {
        "id": 8,
        "author": "Sebastian Thrun",
        "quote": "Nobody phrases it this way, but I think " +
                 "that artificial intelligence " +
                 "is almost a humanities discipline. It's really an attempt " +
                 "to understand human intelligence and human cognition."
    },
    {
        "id": 9,
        "author": "Andrew Ng",
        "quote": "We're making this analogy that AI is the new electricity." +
                 "Electricity transformed industries: agriculture, " +
                 "transportation, communication, manufacturing."
    }
]

ယခု ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ API အဆုံးမှတ်များ၏ လုပ်ဆောင်ချက်များကို သတ်မှတ်ပေးမည့် Quote အရင်းအမြစ်အတန်းအစားကို ဖန်တီးရန် လိုအပ်ပါသည်။ အတန်းအတွင်းတွင် get ၊ post ၊ put ၊ delete နည်းလမ်း လေးခုကို သင်ကြေငြာရန်လိုအပ်သည်။

GET နည်းလမ်းဖြင့် စလိုက်ရအောင်

၎င်းသည် ၎င်း၏ ID ကိုသတ်မှတ်ခြင်းဖြင့် တိကျသောကိုးကားချက်ကို ရယူရန် သို့မဟုတ် ID ကိုသတ်မှတ်မထားပါက ကျပန်းကိုးကားချက်တစ်ခုရရှိစေသည်။

class Quote(Resource):
    def get(self, id=0):
        if id == 0:
            return random.choice(ai_quotes), 200
        for quote in ai_quotes:
            if(quote["id"] == id):
                return quote, 200
        return "Quote not found", 404

ID တွင် ပုံသေတန်ဖိုးပါရှိလျှင် GET နည်းလမ်းသည် ကျပန်းကိုးကားချက်ကို ပြန်ပေးသည်။ နည်းလမ်းကိုခေါ်ဆိုသောအခါ ID မသတ်မှတ်ထားပါ။

၎င်းကို သတ်မှတ်ထားပါက၊ နည်းလမ်းသည် ကိုးကားချက်များကြားတွင် ရှာဖွေပြီး သတ်မှတ်ထားသော ID ပါရှိသော တစ်ခုကို ရှာတွေ့သည်။ မတွေ့ပါက၊ “ကိုးကားမတွေ့၊ 404” ဟူသော မက်ဆေ့ချ်ကို ပြသမည်ဖြစ်သည်။

သတိရပါ- တောင်းဆိုချက်အောင်မြင်ပါက 200 နှင့် မှတ်တမ်းကိုမတွေ့ပါက နည်းလမ်းသည် HTTP အခြေအနေကို ပြန်ပေးသည်။

ယခု repository တွင်ကိုးကားချက်အသစ်ထည့်ရန် POST နည်းလမ်းကိုဖန်တီးကြပါစို့

သင်ရိုက်သည့်အတိုင်း ကိုးကားချက်အသစ်တစ်ခုစီ၏ ID ကို ရရှိပါမည်။ ထို့အပြင်၊ POST သည် တောင်းဆိုချက်ကိုယ်ထည် (စာရေးဆရာနှင့် ကိုးကားစာသား) အတွင်းရှိ ပါရာမီတာများကို ခွဲခြမ်းစိပ်ဖြာရန် reqparse ကို အသုံးပြုပါမည်။

def post(self, id):
      parser = reqparse.RequestParser()
      parser.add_argument("author")
      parser.add_argument("quote")
      params = parser.parse_args()
      for quote in ai_quotes:
          if(id == quote["id"]):
              return f"Quote with id {id} already exists", 400
      quote = {
          "id": int(id),
          "author": params["author"],
          "quote": params["quote"]
      }
      ai_quotes.append(quote)
      return quote, 201

အထက်ကုဒ်တွင်၊ POST နည်းလမ်းသည် ကိုးကားချက် ID ကို လက်ခံခဲ့သည်။ ထို့နောက် reqparse ကို အသုံးပြု၍ ၎င်းသည် စာရေးဆရာနှင့် ကိုးကားချက်တို့ကို ပါရာမ်အဘိဓာန်တွင် သိမ်းဆည်းထားသည်။

သတ်မှတ်ထားသော ID ပါသည့် ကိုးကားချက်တစ်ခု ရှိနှင့်ပြီးဖြစ်ပါက၊ နည်းလမ်းသည် သက်ဆိုင်ရာ မက်ဆေ့ဂျ်နှင့် ကုဒ် 400 ကို ပြသသည်။

သတ်မှတ်ထားသော ID ပါသော ကိုးကားချက်တစ်ခုကို မဖန်တီးရသေးပါက၊ နည်းလမ်းသည် သတ်မှတ်ထားသော ID နှင့် ရေးသားသူအပြင် အခြားသော ကန့်သတ်ချက်များဖြင့် မှတ်တမ်းအသစ်တစ်ခု ဖန်တီးပေးပါသည်။ ထို့နောက် ၎င်းသည် ai_quotes စာရင်းသို့ ထည့်သွင်းပြီး 201 ကုဒ်နှင့်အတူ ကိုးကားအသစ်ဖြင့် ထည့်သွင်းမှုကို ပြန်ပေးသည်။

ယခုကျွန်ုပ်တို့သည် repository တွင်ရှိပြီးသားကိုးကားချက်ကိုပြောင်းလဲရန် PUT နည်းလမ်းကိုဖန်တီးပါ။

def put(self, id):
      parser = reqparse.RequestParser()
      parser.add_argument("author")
      parser.add_argument("quote")
      params = parser.parse_args()
      for quote in ai_quotes:
          if(id == quote["id"]):
              quote["author"] = params["author"]
              quote["quote"] = params["quote"]
              return quote, 200
      
      quote = {
          "id": id,
          "author": params["author"],
          "quote": params["quote"]
      }
      
      ai_quotes.append(quote)
      return quote, 201

ယခင်ဥပမာနှင့်ဆင်တူသော PUT နည်းလမ်းသည် ID နှင့် input ကိုယူကာ reqparse ကိုအသုံးပြု၍ quote parameters များကိုခွဲခြမ်းစိတ်ဖြာသည်။

သတ်မှတ်ထားသော ID ပါရှိသည့် ကိုးကားချက်တစ်ခုရှိလျှင် နည်းလမ်းသည် ၎င်းကို ကန့်သတ်ချက်အသစ်များဖြင့် အပ်ဒိတ်လုပ်မည်ဖြစ်ပြီး အပ်ဒိတ်လုပ်ထားသော ကိုးကားချက်ကို ကုဒ် 200 ဖြင့် ထုတ်ပါမည်။ သတ်မှတ်ထားသော ID နှင့် ကိုးကားထားခြင်းမရှိသေးပါက၊ ကုဒ် 201 ပါ မှတ်တမ်းအသစ်ကို ဖန်တီးပါမည်။

နောက်ဆုံးအနေနဲ့၊ စိတ်အားထက်သန်မှုမရှိတော့တဲ့ ကိုးကားချက်ကို ဖယ်ရှားဖို့ DELETE နည်းလမ်းကို ဖန်တီးကြပါစို့

def delete(self, id):
      global ai_quotes
      ai_quotes = [qoute for qoute in ai_quotes if qoute["id"] != id]
      return f"Quote with id {id} is deleted.", 200

ဤနည်းလမ်းသည် ကိုးကားချက် ID ကို ထည့်သွင်းပြီး မျှဝေထားသောစာရင်းကို အသုံးပြု၍ ai_quotes စာရင်းကို အပ်ဒိတ်လုပ်သည်။

ယခု ကျွန်ုပ်တို့သည် နည်းလမ်းများအားလုံးကို ဖန်တီးထားပြီး၊ ကျွန်ုပ်တို့လုပ်ဆောင်ရန်မှာ အရင်းအမြစ်တစ်ခု API သို့ ရိုးရှင်းစွာထည့်ပါ၊ လမ်းကြောင်းကို သတ်မှတ်ပြီး Flask ကိုဖွင့်ပါ။

api.add_resource(Quote, "/ai-quotes", "/ai-quotes/", "/ai-quotes/<int:id>")
if __name__ == '__main__':
    app.run(debug=True)

ကျွန်ုပ်တို့၏ REST API ဝန်ဆောင်မှုသည် အဆင်သင့်ဖြစ်နေပါပြီ။

ထို့နောက်၊ ကျွန်ုပ်တို့သည် ၎င်းကို ကွန်ဆိုးလ်တွင် အမိန့်ပေးခြင်းဖြင့် လုပ်ဆောင်ခြင်းဖြင့် ကုဒ်ကို app.py ဖိုင်တွင် သိမ်းဆည်းနိုင်သည်-

python3 app.py

အားလုံးကောင်းရင် ဒီလိုမျိုး ရနိုင်မှာပါ

* အမှားရှာမုဒ်- ဖွင့်ထားသည်။
* လည်ပတ်နေသည်။ 127.0.0.1:5000/ (ထွက်ရန် CTRL+C ကို နှိပ်ပါ)
* stat ဖြင့်ပြန်လည်စတင်သည်။
* အမှားရှာပြင်သူသည် အသက်ဝင်ပါသည်။
* အမှားရှာသူ ပင်နံပါတ်- XXXXXXX

API ကို စမ်းသပ်ခြင်း။

API ကိုဖန်တီးပြီးသည်နှင့်၎င်းကိုစမ်းသပ်ရန်လိုအပ်သည်။

၎င်းကို curl console utility သို့မဟုတ် Insomnia REST client ကိုအသုံးပြု၍ သို့မဟုတ် Rapid API တွင် API ကိုထုတ်ဝေခြင်းဖြင့်လုပ်ဆောင်နိုင်သည်။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

ကျွန်ုပ်တို့၏ API ကိုထုတ်ဝေခြင်း။

RapidAPI သည် API 10 ကျော် (နှင့် developer 000 သန်းခန့်) ရှိသည့် ကမ္ဘာ့အကြီးဆုံးစျေးကွက်ဖြစ်သည်။

RapidAPI သည် Third-party APIs များနှင့်အလုပ်လုပ်ရန်အတွက်တစ်ခုတည်းသောအင်တာဖေ့စ်ကိုထောက်ပံ့ပေးရုံသာမကသင်၏ကိုယ်ပိုင် API များကိုလျင်မြန်လွယ်ကူစွာထုတ်ဝေရန်စွမ်းရည်ကိုလည်းပေးသည်။

သို့ ဒီလိုလုပ်ဖို့ကွန်ရက်ပေါ်ရှိ ဆာဗာအချို့တွင် ၎င်းကို ဦးစွာထုတ်ဝေရန် လိုအပ်သည်။ ငါတို့ကိစ္စမှာ ငါတို့သုံးမယ်။ Heroku. လက်တွဲလုပ်ဆောင်ရာတွင် အခက်အခဲမရှိစေရပါ။သူ့အကြောင်းကို ဒီမှာ သင်ပိုမိုရှာဖွေနိုင်ပါတယ်။).

သင်၏ API ကို Heroku တွင်မည်သို့လွှင့်တင်မည်နည်း။

1. Heroku ကို install လုပ်ပါ။

ပထမအဆင့်မှာ Heroku Command Line Interface (CLI) ကို စာရင်းသွင်းပြီး ထည့်သွင်းရန်ဖြစ်သည်။ ၎င်းသည် Ubuntu 16+ တွင်အလုပ်လုပ်သည်။

sudo snap install heroku—classic

ထို့နောက် အကောင့်ဝင်ပါ

heroku အကောင့်ဝင်ပါ။

2. လိုအပ်သောဖိုင်များကိုထည့်ပါ။

ယခုကျွန်ုပ်တို့အပလီကေးရှင်းရှိဖိုင်တွဲတစ်ခုသို့လွှင့်တင်ရန်ဖိုင်များကိုထည့်ရန်လိုအပ်သည်-

  • လိုအပ်သော Python modules စာရင်းနှင့်အတူ requirement.txt;
  • အပလီကေးရှင်းကိုလည်ပတ်ရန် မည်သည့် command များကိုလုပ်ဆောင်ရမည်ကိုသတ်မှတ်ပေးသော Procfile၊
  • .gitignore - ဆာဗာပေါ်တွင်မလိုအပ်သောဖိုင်များကိုဖယ်ထုတ်ရန်။

require.txt ဖိုင်တွင် အောက်ပါစာကြောင်းများ ပါဝင်ပါမည်-

  • ဘူး
  • ပုလင်း-အနားယူ
  • သေနတ်

ကျွန်ုပ်တို့၏အက်ပလီကေးရှင်းကိုဆာဗာပေါ်တွင်လည်ပတ်ရန်လိုအပ်သောကြောင့်ကျွန်ုပ်တို့သည်သေနတ်သမား (Python WSGI HTTP Server) ကိုစာရင်းတွင်ထည့်သွင်းထားကြောင်းသတိပြုပါ။

ပရိုဖိုင်တွင်-

ဝဘ်- သေနတ်အက်ပ်-အက်ပ်

.gitignore ၏ အကြောင်းအရာများ

*.pyc
__pycache__/

ဖိုင်များကို ယခုဖန်တီးပြီးသောအခါ၊ git repo ကို စတင်ပြီး ကတိပြုလိုက်ကြပါစို့။

git init
git add
git commit -m "First API commit"

3. Heroku အပလီကေးရှင်းအသစ်ကို ဖန်တီးပါ။

heroku create

ကျွန်ုပ်တို့သည် မာစတာဌာနခွဲအား အဝေးထိန်း Heroku repo သို့ တွန်းပို့သည်-

git push heroku master

ယခုသင်သည် ညွှန်ကြားချက်များကို အသုံးပြု၍ API ဝန်ဆောင်မှုကိုဖွင့်ခြင်းဖြင့် စတင်နိုင်သည်-

heroku ps:scale web=1
heroku open
 

API မှာ ရရှိနိုင်ပါတယ်။ your-random-heroku-name.herokuapp.com/ai-quotes.

သင်၏ Python API ကို RapidAPI စျေးကွက်တွင် မည်သို့ထည့်မည်နည်း။

သင်၏ API ဝန်ဆောင်မှုကို Heroku တွင် လွှင့်တင်ပြီးသည်နှင့် ၎င်းကို Rapid API တွင် ထည့်သွင်းနိုင်သည်။ ဒီမှာ အသေးစိတ်စာရွက်စာတမ်း ဒီခေါင်းစဉ်ပေါ်မှာ

1. RapidAPI အကောင့်တစ်ခုဖန်တီးပါ။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

အခမဲ့အကောင့်တစ်ခု မှတ်ပုံတင်ပါ - ၎င်းကို Facebook၊ Google၊ GitHub သုံးပြီး လုပ်ဆောင်နိုင်သည်။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

2. ထိန်းချုပ်မှုဘောင်သို့ API ကိုထည့်ပါ။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

3. ထို့နောက်၊ သင်၏ API နှင့်ပတ်သက်သော အထွေထွေအချက်အလက်များကို ထည့်သွင်းပါ။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

4. “Add API” ကို နှိပ်ပြီးနောက် ကျွန်ုပ်တို့၏ API ဆိုင်ရာ အချက်အလက်များကို သင်ထည့်သွင်းနိုင်သည့် စာမျက်နှာအသစ်တစ်ခု ပေါ်လာပါသည်။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

5. ယခု သင်သည် API အဆုံးမှတ်များကို ကိုယ်တိုင်ထည့်သွင်းနိုင်သည် သို့မဟုတ် ဒေါင်းလုဒ်လုပ်နိုင်သည်။ ရင်ကော့ဖို OpenAPI ကို အသုံးပြု.

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

ကောင်းပြီ၊ ယခု ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ API ၏အဆုံးမှတ်များကို Endpoints စာမျက်နှာတွင် သတ်မှတ်ရန်လိုအပ်ပါသည်။ ကျွန်ုပ်တို့၏ကိစ္စတွင်၊ အဆုံးမှတ်များသည် CRUD ၏သဘောတရား (ရယူရန်၊ ပို့စ်တင်ရန်၊ ထည့်ရန်၊ ဖျက်ရန်) နှင့် သက်ဆိုင်သည်။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

ထို့နောက်၊ သင်သည် ကျပန်းကိုးကားချက် (ID သည် ပုံသေဖြစ်လျှင်) သို့မဟုတ် သတ်မှတ်ထားသော ID အတွက်ကိုးကားချက်ကို ပြသသည့် GET AI Quote အဆုံးမှတ်ကို ဖန်တီးရန် လိုအပ်သည်။

အဆုံးမှတ်တစ်ခု ဖန်တီးရန် "အဆုံးမှတ်ကို ဖန်တီးပါ" ခလုတ်ကို နှိပ်ပါ။

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

ကျွန်ုပ်တို့သည် အခြားသော API အဆုံးမှတ်များအားလုံးအတွက် ဤလုပ်ငန်းစဉ်ကို ပြန်လုပ်ပါသည်။ ဒါပါပဲ! ဂုဏ်ယူပါသည်၊ သင်သည် သင်၏ API ကိုထုတ်ဝေလိုက်ပါပြီ။

အားလုံးအဆင်ပြေပါက API စာမျက်နှာသည် ဤကဲ့သို့ဖြစ်နေမည်-

Python တွင် API တစ်ခုရေးခြင်း (Flask နှင့် RapidAPI ဖြင့်)

ကောက်ချက်

ဤဆောင်းပါးတွင်၊ Python တွင် သင်၏ကိုယ်ပိုင် RESTful API ဝန်ဆောင်မှုကို ဖန်တီးခြင်းလုပ်ငန်းစဉ်နှင့် API ကို Heroku cloud သို့ ဖြန့်ချိခြင်းနှင့် RapidAPI လမ်းညွှန်သို့ ထည့်ခြင်းလုပ်ငန်းစဉ်တို့နှင့်အတူ လေ့လာခဲ့သည်။

သို့သော် စမ်းသပ်ဗားရှင်းတွင် API ဖွံ့ဖြိုးတိုးတက်မှု၏ အခြေခံမူများကိုသာ ပြသခဲ့သည် - လုံခြုံရေး၊ အမှားခံနိုင်ရည်နှင့် ချဲ့ထွင်နိုင်မှုကဲ့သို့သော ကွဲပြားမှုများကို ထည့်သွင်းစဉ်းစားခြင်းမပြုပါ။

အစစ်အမှန် API ကိုတီထွင်သောအခါ၊ ဤအရာအားလုံးကိုထည့်သွင်းစဉ်းစားရန်လိုအပ်သည်။

source: www.habr.com

မှတ်ချက် Add