2015-10-20 82 views
0

這是一個分配的類項目。如何創建Web API PUT處理程序(Python,Google App Engine)?

我必須創建一個託管在Google應用引擎上的Web API。它必須存儲數據並支持GET,POST,PUT和DELETE操作。要求中隱含的是我不能在其上拋出一個框架並稱之爲一天。燒瓶等似乎使這很容易,但不是一種選擇。

我的想法是模擬一個非常簡單的記錄存儲API。該API允許獲取專輯或藝術家信息,編輯該信息或刪除該信息。

要開始,我想要一個Python腳本向API發送PUT請求,然後讓API做出響應。課程材料沒有解釋如何做這個基本的操作。我找不到解釋它的任何資源。

我收集我會在測試腳本中使用urllib2並提出請求。喜歡的東西:

urbllib2.Request("app_name.appspot.com\albums\something, data=an_album_to_add, method='PUT')

在API中,我有一個這樣的處理程序:

def add_album(webapp2.RequestHandler): def put(self): #do a data store operation #return something via HTTP, something to indicate success or failure....

這是像我可以找出。我在正確的軌道上嗎?我如何發送響應給發送請求到API的客戶端?

回答

0

是的,你是在正確的軌道上!

如果你想返回JSON,只需添加到您的put方法的末尾:

self.response.headers["Content-Type"] = (
     "application/json; charset=utf-8") 
    out_json = json.dumps(out_dict, ensure_ascii=False).encode("utf-8") 
    self.response.write(out_json) 

哪裏out_dict是任何你想要返回的Python字典。