पाइथन के साथ Google App Engine का उपयोग करके एक विश्वसनीय API कैसे बनाएं? मैंने क्लाउड एंडपॉइंट्स का उपयोग करने का प्रयास किया है, लेकिन दस्तावेज़ीकरण एक विश्वसनीय API पर केंद्रित नहीं है। क्या GAE के लिए django-tastypie के समान कुछ है?REST API?
उत्तर
रीस्टफुल एपीआई एंडपॉइंट एपीआई के आधार पर बनाया जा सकता है। वहाँ कुछ उपकरण चीजों को आसान बनाने में मदद कर सकते हैं:
appengine बाकी सर्वर (अंतिम बिंदुओं के आधार पर नहीं)
ड्रॉप-इन Google App Engine ऐप्स जो कोई साथ एक बाकी एपीआई के माध्यम से अपने डेटा मॉडल को उजागर करता है के लिए सर्वर अतिरिक्त काम।
https://code.google.com/p/appengine-rest-server/
एक और एक अंतिम बिंदु
ndb.Model वर्ग द्वारा प्रदान की कार्यक्षमता और अंतिम बिंदुओं पुस्तकालय विस्तार करके पर आधारित है, इस पुस्तकालय आप सीधे में मॉडल संस्थाओं के साथ बातचीत करने की अनुमति देता है आपके ProtoRPC अनुरोधों के बजाय API विधियां। उदाहरण के लिए, के बजाय के लिए:
https://github.com/GoogleCloudPlatform/endpoints-proto-datastore
EDIT1:
मैं अंतिम बिंदु के लिए एक RESTful API जनरेटर लिखा था।
# generate restful api in one line
BigDataLab = EndpointRestBuilder(GPCode).build(
api_name="BigDataLab",
name="bigdatalab",
version="v1",
description="My Little Api"
)
रेपो: https://github.com/Tagtoo/endpoints-proto-datastore-rest
बढ़िया! मैं Appengine आराम सर्वर का उपयोग कर रहा हूँ। लेकिन प्रमाणीकरणकर्ता और प्राधिकरण को मैन्युअल रूप से कार्यान्वित किया जाना है।क्या आप मुझे इसके लिए कुछ संसाधनों के बारे में बता सकते हैं? – theG33k
https://github.com/mevinbabuc/Restify
यह एक हल्के मॉड्यूल है कि मैं बनाया है, जो ऐप्लिकेशन इंजन के लिए एक आराम इंटरफ़ेस की तरह काम करता है। आपको बस इतना करना होगा कि केवल ReSTify/models.py में मॉडलों को परिभाषित करें।
आप बिना किसी tweaking के आसानी से प्रमाणीकरण में भी जोड़ सकते हैं।
आरंभ करने के लिए अल आपको क्या करना है
import webapp2
import ReSTify
application = webapp2.WSGIApplication(
[
('/api/.*', ReSTify.ReST),
],
debug=True)
https://github.com/budowski/rest_gae
है मैं webapp2 से अधिक NDB मॉडल के लिए एक पूर्ण REST API का बना लिया है। अनुमतियों को संभालने और बहुत कुछ शामिल है।
अपने विचारों को जानकर बहुत खुशी होगी:
class MyModel(ndb.Model):
property1 = ndb.StringProperty()
property2 = ndb.StringProperty()
owner = ndb.KeyPropertyProperty(kind='User')
class RESTMeta:
user_owner_property = 'owner' # When a new instance is created, this property will be set to the logged-in user
include_output_properties = ['property1'] # Only include these properties for output
app = webapp2.WSGIApplication([
# Wraps MyModel with full REST API (GET/POST/PUT/DELETE)
RESTHandler(
'/api/mymodel', # The base URL for this model's endpoints
MyModel, # The model to wrap
permissions={
'GET': PERMISSION_ANYONE,
'POST': PERMISSION_LOGGED_IN_USER,
'PUT': PERMISSION_OWNER_USER,
'DELETE': PERMISSION_ADMIN
},
# Will be called for every PUT, right before the model is saved (also supports callbacks for GET/POST/DELETE)
put_callback=lambda model, data: model
),
# Optional REST API for user management
UserRESTHandler(
'/api/users',
user_model=MyUser, # You can extend it with your own custom user class
user_details_permission=PERMISSION_OWNER_USER,
verify_email_address=True,
verification_email={
'sender': 'John Doe <[email protected]>',
'subject': 'Verify your email address',
'body_text': 'Click here {{ user.full_name }}: {{ verification_url }}',
'body_html': '<a href="{{ verification_url }}">Click here</a> {{ user.full_name }}'
},
verification_successful_url='/verification_successful',
verification_failed_url='/verification_failed',
reset_password_url='/reset_password',
reset_password_email={
'sender': 'John Doe <[email protected]>',
'subject': 'Please reset your password',
'body_text': 'Reset here: {{ verification_url }}',
'body_html': '<a href="{{ verification_url }}">Click here</a> to reset'
},
)
], debug=True, config=config)
यह उत्कृष्ट है! किसी भी कारण से आप एंडपॉइंट्स का लाभ उठाने का विकल्प नहीं चुनते हैं? – wprater
@ वाटर, https://code.google.com/p/googleappengine/issues/detail?id=9384 यह कारणों में से एक हो सकता है ... – opensourcegeek
@opensourcegeek मैंने इसका उपयोग करके समाप्त किया (https: // github .com/GoogleCloudPlatform/endpoints-proto-datastore), क्योंकि मैं एंडपॉइंट्स का उपयोग करना चाहता था, लेकिन यह लाइब्रेरी भी बहुत अच्छी लगती है! – wprater
- 1. REST API
- 2. REST API
- 3. REST API
- 4. REST api:
- 5. Office 365 REST API
- 6. MyAnimeList REST API सीमाएं
- 7. Node.js Rest API
- 8. REST API दस्तावेज़ पीढ़ी
- 9. PHP REST API
- 10. उत्प्रेरक REST API
- 11. Yii2 Rest Api
- 12. Expressjs REST API एक्सप्लोरर
- 13. django rest framework api
- 14. Office365 REST API के लिए API सीमा
- 15. salesforce rest api INVALID_SESSION_ID त्रुटि
- 16. नेक्सस 3 REST API कलाकृतियों
- 17. प्रमाणित JIRA REST API Node.js
- 18. Clojure REST API का फ़्रेमवर्क
- 19. Google कैलेंडर V3 REST API
- 20. एक रूप (REST API) Django
- 21. डेल्फी REST API पोस्ट नमूना
- 22. मूल प्रमाणीकरण 2013 REST API
- 23. WP Rest API अपलोड छवि
- 24. पेपैल भुगतान REST API - REQUIRED_SCOPE_MISSING
- 25. Django REST Framework: ब्राउज़ करने योग्य API
- 26. Django REST Framework ब्राउज़ करने योग्य API
- 27. Node.js या Express.js REST API दस्तावेज़ जनरेटर
- 28. Woocommerce REST API - कस्टम मार्ग जोड़ें
- 29. REST API - ALPS UI (Swagger UI जैसे)
- 30. स्प्रिंग सुरक्षा - REST API और अन्य URL
protorpc सेवाओं पर एक नज़र लेने की कोशिश करें। एंडपॉइंट्स उनके ऊपर बनाए गए हैं और वे लिखने में बहुत बुरे नहीं हैं। – grim
आप GAE पर Django का उपयोग कर सकते हैं ताकि यह आपके लिए सीधे काम कर सके। –
आप विभिन्न माइक्रो ढांचे के ढेर के साथ आराम से एपीआई बना सकते हैं। मैं व्यक्तिगत रूप से वेबपैप (2) का उपयोग नहीं करता लेकिन इस तरह के आवेदन के लिए बोबो। –