Go এর সাথে RESTful API ব্যবহার করা হচ্ছে

Go এর সাথে RESTful API ব্যবহার করা হচ্ছে

RESTful APIগুলি ওয়েব জুড়ে ডেটা স্থানান্তরের জন্য জনপ্রিয় আর্কিটেকচার। RESTful APIগুলি সাধারণত HTTP ব্যবহার করে, যা রাষ্ট্রহীনতা গুরুত্বপূর্ণ এমন ক্ষেত্রে তাদের উপযুক্ত করে তোলে।





যেকোনো সার্ভার-সাইড ভাষার মতো, আপনি HTTP প্রোটোকলের সাথে ইন্টারঅ্যাক্ট করতে পারেন এবং Go-তে HTTP অনুরোধ করতে পারেন।





Go-তে RESTful APIs খাওয়া শুরু করা

দ্য http গো-তে HTTP প্রোটোকলের সাথে ইন্টারঅ্যাক্ট করার জন্য আপনার প্রয়োজনীয় কার্যকারিতা প্যাকেজটি প্রদান করে। এর মধ্যে HTTP অনুরোধ করা অন্তর্ভুক্ত, এবং আপনার অগত্যা প্রয়োজন নেই বাহ্যিক নির্ভরতা, যেমন জিন বা একটি ডাটাবেস .





দিনের মেকইউজের ভিডিও

আপনি ব্যবহার করতে পারেন http APIs ব্যবহার করার জন্য প্যাকেজ এবং এর জন্য পৃষ্ঠাগুলি আনার জন্য গো-তে ওয়েব স্ক্র্যাপিং .

কিভাবে গুগল ক্যালেন্ডারে ক্লাস যোগ করা যায়

Go-তে HTTP অনুরোধ করা শুরু করতে এই প্যাকেজগুলি আমদানি করুন।



import ( 
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)

আপনি ব্যবহার করবেন বাইট বাইট স্লাইস ম্যানিপুলেট প্যাকেজ, json অনুরোধ তথ্য বিন্যাস প্যাকেজ, fmt স্ট্যান্ডার্ড আউটপুটে লিখতে প্যাকেজ, ioutil ইনপুট এবং আউটপুট জন্য প্যাকেজ, এবং http অনুরোধ পাঠানোর জন্য প্যাকেজ।

গো-তে একটি সহজ GET অনুরোধ৷

সাধারণ পাওয়া একটি সার্ভার থেকে ডেটা পড়ার অনুরোধ করে এবং API-এর প্রকৃতি এবং স্পেসিফিকেশনের উপর নির্ভর করে ডেটার জন্য পরামিতি প্রদান করতে পারে।





এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে httpbin এর সাধারণ অনুরোধ এবং প্রতিক্রিয়া পরিষেবা ব্যবহার করে RESTful API গুলি ব্যবহার করতে হয়।

এখানে Go এর সাথে একটি HTTP অনুরোধ করার একটি উদাহরণ রয়েছে:





url := "https://httpbin.org/get" 
response, err := http.Get(url)

if err != nil {
fmt.Printf("There was an error from the API request %s", err.Error())
} else {
// continues [1] ...
}

দ্য url ভেরিয়েবল হল শেষ পয়েন্ট যেখানে আপনি অনুরোধ পাঠাচ্ছেন। দ্য পাওয়া মেথড ইউআরএলে নেয়, এক্সিকিউট করে পাওয়া অনুরোধ, এবং এর শিরোনাম এবং বডি সহ প্রতিক্রিয়া প্রদান করে।

আপনি আপনার প্রয়োজনীয়তার উপর নির্ভর করে অনুরোধ থেকে কোনো ত্রুটি পরিচালনা করতে পারেন। যদি কোন ত্রুটি না থাকে, তাহলে আপনি থেকে আপনার প্রয়োজনীয় তথ্য বের করতে এগিয়ে যেতে পারেন পাওয়া অনুরোধ

} else { 
// ... [1] continued
responseData, err := ioutil.ReadAll(response.Body)

if err != nil {
fmt.Printf("There was an error from parsing the request body %s", err.Error())
} else {
// continues [2] ...
}
}

প্রতিক্রিয়া এর শরীর ক্ষেত্র প্রতিক্রিয়া শরীরের ঝুলিতে. ব্যবহার করে সব পড়া পদ্ধতি ioutil প্যাকেজ, আপনি প্রতিক্রিয়া বডি পড়তে এবং সম্ভাব্য ত্রুটিগুলি পরিচালনা করতে পারেন।

নতুনদের জন্য বিনামূল্যে সঙ্গীত উত্পাদন সফ্টওয়্যার
} else { 
// ... [2] continued
fmt.Println(string(responseData))
}

দ্য অন্য রিড অপারেশন থেকে কোনো ত্রুটি না থাকলে স্টেটমেন্ট আপনার কনসোলে রেসপন্স বডি প্রিন্ট করে।

এখানে এর ফলাফল পাওয়া httpbin এর শেষ পয়েন্টে অনুরোধ করুন।

  GET অনুরোধ থেকে ফলাফল

গো-তে একটি সহজ পোস্টের অনুরোধ

সাধারণ POST অনুরোধ সার্ভারে ডেটা পেলোড প্রদান করে এবং সার্ভার অপারেশনের উপর নির্ভর করে একটি প্রতিক্রিয়া প্রদান করে।

পোস্ট অনুরোধের অংশ হিসাবে সার্ভারে একটি JSON পেলোড এনকোড করার জন্য এখানে একটি সাধারণ কাঠামো রয়েছে।

type JSON struct { 
info string
message string
}

দ্য JSON struct আছে তথ্য এবং বার্তা স্ট্রিং ক্ষেত্র, এবং আপনি অনুরোধের জন্য একটি struct দৃষ্টান্ত শুরু করবেন।

url := "https://httpbin.org/post" 

jsonInstance := JSON {
info: "expecting success",
message: "the request should return ",
}

দ্য url ভেরিয়েবল httpbin ওয়েবসাইট থেকে POST অনুরোধের শেষ পয়েন্ট সংরক্ষণ করে। দ্য jsonInstance ভেরিয়েবল হল JSON struct-এর একটি উদাহরণ যা আপনি স্ট্রাকচার্ড ডেটা সংরক্ষণ এবং পাঠাতে ব্যবহার করতে পারেন।

আপনি ব্যবহার করতে পারেন মার্শাল থেকে পদ্ধতি json অনুরোধের জন্য JSON ফর্ম্যাট করার জন্য প্যাকেজ।

jsonData, err := json.Marshal(jsonInstance) 
if err != nil {
fmt.Println("there was an error with the JSON", err.Error())
} else {
// continues [1] ...
}

দ্য মার্শাল পদ্ধতিটি একটি ত্রুটি প্রদান করে যা আপনি পরিচালনা করতে পারেন। JSON মার্শালিং অপারেশনে কোনো ত্রুটি না থাকলে, আপনি POST অনুরোধ করতে এগিয়ে যেতে পারেন।

আপনি ব্যবহার করতে পারেন পোস্ট POST অনুরোধ করার পদ্ধতি। দ্য পোস্ট পদ্ধতিটি ইউআরএল এন্ডপয়েন্ট, অনুরোধের বিষয়বস্তুর ধরন এবং পেলোডের একটি বাফার নেয়। এটি প্রতিক্রিয়া এবং একটি ত্রুটি প্রদান করে।

} else { 
// ... continued [1]
response, err := http.Post(url, "application/json", bytes.NewBuffer(jsonData))

if err != nil {
fmt.Println("there was an error with the request", err.Error())
} else {
// continues [2] ...
}
}

আবার, আপনি ব্যবহার করে প্রতিক্রিয়া বডি পড়তে পারেন সব পড়া পদ্ধতি ioutil প্যাকেজ:

} else { 
// ... continued [2]
data, err := ioutil.ReadAll(response.Body)

if err != nil {
fmt.Println("there was an error reading the request body", err.Error())
} else {
fmt.Println(string(data))
}
}

দ্য Println স্টেটমেন্ট আপনার কনসোলে HTTP অনুরোধের ফলাফল আউটপুট করে।

হিসাবে httpbin ডকুমেন্টেশন নির্দিষ্ট করে, এই POST এন্ডপয়েন্ট আপনার পাঠানো অনুরোধের ডেটা ফেরত দেয়।

উইন্ডোজ 10 সক্রিয় উইন্ডোজ ওয়াটারমার্ক সরান
  POST অনুরোধ থেকে ফলাফল

Go-তে ওয়েব অ্যাপ তৈরি করা সহজ

আপনি নির্ভরতা ছাড়াই Go-তে বিভিন্ন কার্যকারিতা সহ ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন।

দ্য http আপনার বেশিরভাগ অপারেশনের জন্য আপনার প্রয়োজনীয় ফাংশন প্যাকেজ রয়েছে। আপনি এই প্যাকেজের মতো অন্যদের সাথে ব্যবহার করতে পারেন json JSON অপারেশনের জন্য প্যাকেজ, প্রসঙ্গ সিগন্যালিংয়ের জন্য প্যাকেজ এবং টেমপ্লেট করার জন্য টেমপ্লেট প্যাকেজ। স্ট্যান্ডার্ড লাইব্রেরিতে আরও অনেক প্যাকেজ রয়েছে।