CherryPy একটি শক্তিশালী ওয়েব ফ্রেমওয়ার্ক, যা সহজেই JSON এবং XML ফরম্যাটে রেসপন্স তৈরি করতে সহায়তা করে। ওয়েব অ্যাপ্লিকেশনের জন্য JSON বা XML রেসপন্স সাধারণত API ডেভেলপমেন্টে ব্যবহৃত হয়, যেখানে ডাটা স্ট্রাকচারকে একটি নির্দিষ্ট ফরম্যাটে ক্লায়েন্টে পাঠানো হয়।
এখানে JSON এবং XML রেসপন্স তৈরি করার পদ্ধতি আলোচনা করা হবে।
JSON Response তৈরি
JSON (JavaScript Object Notation) একটি সাধারণ ডেটা এক্সচেঞ্জ ফরম্যাট যা মানুষের কাছে পাঠযোগ্য এবং যন্ত্রের দ্বারা সহজে প্রক্রিয়াজ্ঞানযোগ্য।
JSON Response উদাহরণ:
import cherrypy
import json
class MyApp:
@cherrypy.expose
@cherrypy.tools.json_out() # JSON আউটপুট টুল ব্যবহার
def index(self):
data = {
"message": "স্বাগতম CherryPy অ্যাপ্লিকেশনে!",
"status": "success"
}
return data
if __name__ == '__main__':
cherrypy.quickstart(MyApp())
এখানে:
@cherrypy.tools.json_out(): এই টুলটি রেসপন্সকে JSON ফরম্যাটে রূপান্তর করে।dataডিকশনারি হিসেবে রাখা JSON ডেটা।
ব্রাউজারে গিয়ে http://127.0.0.1:8080/ এ ঢুকলে নিচের JSON রেসপন্স দেখতে পাবেন:
{
"message": "স্বাগতম CherryPy অ্যাপ্লিকেশনে!",
"status": "success"
}
JSON Response এর Customization
আপনি JSON রেসপন্স কাস্টমাইজ করতে চাইলে json.dumps() ব্যবহার করতে পারেন, যেখানে আপনি পছন্দমতো ফরম্যাট এবং কাস্টম অপশন ব্যবহার করতে পারবেন।
import cherrypy
import json
class MyApp:
@cherrypy.expose
def index(self):
data = {
"message": "স্বাগতম CherryPy অ্যাপ্লিকেশনে!",
"status": "success",
"numbers": [1, 2, 3, 4]
}
cherrypy.response.headers['Content-Type'] = 'application/json'
return json.dumps(data, ensure_ascii=False) # ensure_ascii=False for Bangla characters
if __name__ == '__main__':
cherrypy.quickstart(MyApp())
XML Response তৈরি
XML (eXtensible Markup Language) একটি মার্কআপ ভাষা, যা সাধারণত ডেটা স্টোরেজ এবং ট্রান্সমিশনের জন্য ব্যবহৃত হয়। CherryPy তে XML রেসপন্স তৈরি করতে Python এর xml.etree.ElementTree মডিউল ব্যবহার করা যায়।
XML Response উদাহরণ:
import cherrypy
import xml.etree.ElementTree as ET
class MyApp:
@cherrypy.expose
def index(self):
root = ET.Element("response")
message = ET.SubElement(root, "message")
message.text = "স্বাগতম CherryPy অ্যাপ্লিকেশনে!"
status = ET.SubElement(root, "status")
status.text = "success"
# XML রেসপন্সের হেডার সেট করা
cherrypy.response.headers['Content-Type'] = 'application/xml'
return ET.tostring(root, encoding="utf-8", method="xml").decode()
if __name__ == '__main__':
cherrypy.quickstart(MyApp())
এখানে:
xml.etree.ElementTreeমডিউল ব্যবহার করা হয়েছে XML ডকুমেন্ট তৈরি করতে।ET.Elementমূল XML ট্যাগ এবংET.SubElementউপ-ট্যাগ তৈরি করতে ব্যবহৃত হয়েছে।cherrypy.response.headers['Content-Type'] = 'application/xml'XML কনটেন্ট টাইপ হিসেবে সেট করা হয়েছে।
ব্রাউজারে গিয়ে http://127.0.0.1:8080/ এ ঢুকলে নিচের XML রেসপন্স দেখতে পাবেন:
<response>
<message>স্বাগতম CherryPy অ্যাপ্লিকেশনে!</message>
<status>success</status>
</response>
XML Response এর Customization
আপনি XML ডেটা কাস্টমাইজ করতে চাইলে xml.etree.ElementTree এর অন্যান্য ফাংশন যেমন ElementTree এবং SubElement ব্যবহার করতে পারেন।
JSON এবং XML রেসপন্সের মধ্যে পার্থক্য
- JSON:
- পাঠযোগ্য এবং দ্রুত প্রক্রিয়াজ্ঞানযোগ্য।
- সাধারণত ওয়েব এবং মোবাইল অ্যাপ্লিকেশনে ব্যবহৃত হয়।
- ফাইল এক্সটেনশন:
.json - Content-Type:
application/json
- XML:
- তথ্য স্টোরেজ এবং ডেটা এক্সচেঞ্জের জন্য ব্যবহৃত হয়।
- ফাইল এক্সটেনশন:
.xml - Content-Type:
application/xml
CherryPy দিয়ে আপনি সহজেই JSON এবং XML রেসপন্স তৈরি করতে পারেন, যা ওয়েব API বা ডেটা এক্সচেঞ্জের জন্য খুবই উপকারী। JSON সাধারণত আধুনিক ওয়েব অ্যাপ্লিকেশনে ব্যবহৃত হয়, যেখানে XML সাধারণত ডেটা সংরক্ষণ এবং পুরানো সিস্টেমের মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়। CherryPy এর সাহায্যে আপনি উভয় ফরম্যাটে ডেটা রেসপন্স তৈরি এবং পাঠাতে সক্ষম।
Read more