Go உடன் RESTful APIகளை உட்கொள்வது

Go உடன் RESTful APIகளை உட்கொள்வது

RESTful APIகள் இணையம் முழுவதும் தரவு பரிமாற்றத்திற்கான பிரபலமான கட்டமைப்புகளாகும். RESTful APIகள் பொதுவாக HTTP ஐப் பயன்படுத்துகின்றன, அவை நிலையற்ற தன்மை முக்கியமான நிகழ்வுகளுக்கு ஏற்றதாக அமைகின்றன.





எந்த சர்வர் பக்க மொழியையும் போல, நீங்கள் HTTP நெறிமுறையுடன் தொடர்பு கொள்ளலாம் மற்றும் Go இல் HTTP கோரிக்கைகளை செய்யலாம்.





Go இல் RESTful APIகளைப் பயன்படுத்தத் தொடங்குதல்

தி http Go இல் HTTP நெறிமுறையுடன் தொடர்புகொள்வதற்குத் தேவையான பெரும்பாலான செயல்பாடுகளை தொகுப்பு வழங்குகிறது. இதில் HTTP கோரிக்கைகளைச் செய்வதும் அடங்கும், மேலும் உங்களுக்கு அவசியமில்லை ஜின் அல்லது தரவுத்தளம் போன்ற வெளிப்புற சார்புகள் .





அன்றைய வீடியோவை உருவாக்கவும்

நீங்கள் பயன்படுத்தலாம் http APIகளை உட்கொள்வதற்கும் பக்கங்களைப் பெறுவதற்கும் தொகுப்பு Go இல் வலை ஸ்கிராப்பிங் .

Goவில் HTTP கோரிக்கைகளை உருவாக்க இந்தத் தொகுப்புகளை இறக்குமதி செய்யவும்.



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

நீங்கள் பயன்படுத்துவீர்கள் பைட்டுகள் பைட் துண்டுகளை கையாள தொகுப்பு, தி json கோரிக்கைத் தரவை வடிவமைப்பதற்கான தொகுப்பு, தி fmt நிலையான வெளியீட்டில் எழுத தொகுப்பு, தி ioutil உள்ளீடு மற்றும் வெளியீட்டிற்கான தொகுப்பு, மற்றும் http கோரிக்கைகளை அனுப்புவதற்கான தொகுப்பு.

Go இல் ஒரு எளிய 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 மாறி என்பது நீங்கள் கோரிக்கையை அனுப்பும் இறுதிப்புள்ளியாகும். தி பெறு முறை 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 கோரிக்கையின் விளைவாக

Go இல் ஒரு எளிய POST கோரிக்கை

வழக்கமான POST கோரிக்கைகள் சேவையகத்திற்கு தரவு பேலோடுகளை வழங்குகின்றன, மேலும் சேவையகம் செயல்பாட்டைப் பொறுத்து பதிலை வழங்குகிறது.

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 கட்டமைப்பின் ஒரு எடுத்துக்காட்டு.

நீங்கள் பயன்படுத்தலாம் மார்ஷல் இருந்து முறை 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 கோரிக்கையைச் செய்ய தொடரலாம்.

ar மண்டல பயன்பாடு அது என்ன

நீங்கள் பயன்படுத்தலாம் அஞ்சல் POST கோரிக்கைகளை உருவாக்கும் முறை. தி அஞ்சல் முறையானது URL எண்ட்பாயிண்ட், கோரிக்கையின் உள்ளடக்க வகை மற்றும் பேலோடின் இடையகத்தை எடுத்துக்கொள்கிறது. இது பதிலையும் பிழையையும் வழங்குகிறது.

} 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 இறுதிப்புள்ளி நீங்கள் அனுப்பும் கோரிக்கைத் தரவை வழங்குகிறது.

  POST கோரிக்கையின் விளைவாக

Go இல் இணைய பயன்பாடுகளை உருவாக்குவது எளிதானது

சார்புகள் இல்லாமல் Go இல் பல்வேறு செயல்பாடுகளுடன் இணையப் பயன்பாடுகளை உருவாக்கலாம்.

தி http உங்கள் பெரும்பாலான செயல்பாடுகளுக்குத் தேவையான செயல்பாடுகளை பேக்கேஜ் கொண்டுள்ளது. நீங்கள் இந்த தொகுப்பைப் போன்ற மற்றவர்களுடன் பயன்படுத்தலாம் json JSON செயல்பாடுகளுக்கான தொகுப்பு, தி சூழல் சமிக்ஞைக்கான தொகுப்பு மற்றும் டெம்ப்ளேட் செய்வதற்கான டெம்ப்ளேட் தொகுப்பு. நிலையான நூலகத்தில் வேறு பல தொகுப்புகள் உள்ளன.