1

REST API搜索的方式來建立的REST API,我發現skue(https://code.google.com/p/skue/)。但是網站上沒有太多的信息。我的計劃是建立一個REST API爲嚴格如下:使用Skue或類似的框架建立在谷歌應用程序內發動機

Models << Business logics << Restful Resources. 

這意思是:該機型是專門由business logic接入; restful resources接口是客戶端直接訪問的唯一層。我指定所有這些以避免人們建議使用appengine-rest-server

我的問題是:有沒有人成功地使用Skue?如果是這樣,你有任何你不介意分享的例子嗎? GETPOST就足夠了,但更多的是歡迎。如果沒有Skue,是否有任何的框架存在,允許對谷歌 - 應用引擎上構建這樣的REST的API?

回答

1

我沒有用過skue,但你要尋找的是一個很好的適合Google Cloud Endpoints聲音。有關詳情,請參閱我的previous answers

+0

感謝您理解我的困境。你的鏈接看起來很有希望。我現在正在閱讀它。 (投票)。 – kasavbere

+0

'Google Cloud Endpoint'('GCE')絕對是非常棒!但是有一些問題:1)谷歌此時正在勸阻在生產中使用'GCE',這顯然是一個大問題。 2)到目前爲止,我所能找到的所有例子都屬於'Java'; 'Python'上沒有任何內容,除了一個空白語句,它可以與'Python'一起使用。所以......你知道我在哪裏可以找到一些Python例子嗎?或者我必須先申請'可信測試者'嗎?謝謝! – kasavbere

+0

我們關於端點的唯一公開材料來自I/O,並且都使用Java。 TT也可以訪問Python樣本。關於在製作中的使用,這是我們給每個人的一般性陳述,但一些開發人員(使用Google的祝福)已經使用端點啓動了項目。 –

3

我是Skuë的作者。 Skuë的意思是「老鼠」在Bribrí這是哥斯達黎加,我的國家土着人的語言。

我知道有沒有在網站上足夠的信息:(https://code.google.com/p/skue/)

對於希望使用它自己的項目開發。我很抱歉,我只是沒有時間做一個適當的文件,因爲這只是一個副項目,而不是我的日常工作。

不過,我願意幫你出斜坡上升,所以你將能夠使用它。首先要注意的是它是源代碼一部分的小例子。轉到該網站,然後單擊源 - >瀏覽,然後展開「應用程序」分支。

的「應用程序」文件夾內的代碼表示自己的API的實現。軟件包「skue」包含庫的實際實現,因此基本上只需爲Google App Engine創建Python項目,並將skuë包直接包含在其中。

現在,隨着下載main.py的內容覆蓋您的main.py文件:main.py on Skuë project

該文件中最重要的部分是你把你自己的路由到您的資源實現:注意這裏使用了「ContactResource」的。

TASK_HANDLERS = [ 

       ] 

API_HANDLERS = [ 
        ('/contacts/(.*)', ContactResource) 
       ] 

API_DOC = [ ('/', ApiDocumentationResource) ] 

瀏覽到聯繫人資源實施。

那裏有很多事情正在發生......但這個想法是讓你不用擔心這些。

您需要從依賴於那種你想創建資源的適當資源父類繼承,有四種基本類型:

DocumentResource:文檔資源是一個奇異的概念,類似於一個對象實例或數據庫記錄。

CollectionResource:集合資源是服務器管理的資源目錄。客戶可能會建議添加到集合中的新資源。但是,選擇是否要創建新資源取決於收集。

StoreResource:商店是客戶端管理的資源存儲庫。商店資源讓API客戶端可以放入資源,讓它們退出,並決定何時刪除它們。

ControllerResource:控制器資源模擬程序概念。控制器資源就像可執行的函數一樣,帶有參數和返回值;投入和產出。

像傳統的Web應用程序的使用HTML表單,一個REST API依賴於控制器的資源來執行無法在邏輯上被映射到的標準方法之一(創建,檢索,更新和刪除,也稱爲應用程序的具體行動作爲CRUD)。

現在看看「describe_resource」執行ContactResource的例子。當您從上述基本資源類型繼承時,下一步就是使用該方法以編程方式向外界描述您的資源。基礎的Skuë實現使用該方法來驗證require請求參數,並在您對它們執行OPTIONS請求時自我描述端點。

最後一步是你要實現你想爲你的資源處理的方法(CRUD)。

再次使用ContactResource示例,該資源處理聯繫人項目的創建,更新和讀取。

我希望這可以幫助您至少了解如何開始使用庫。不過,我會在將來創建更好的教程。

與此同時,您可以通過電子郵件與我聯繫:[email protected]我會給你一個更詳細的例子,甚至是符合你的要求的東西。

重要說明:目前Skuë項目僅支持JSON格式的響應。如果您打算使用其他格式,則需要創建適當的類來處理它。

來自哥斯達黎加的問候。

+0

嗨Grevin,我製作了''pyramid_skue'' - 一個基於Skue的庫,用於在Pyramid框架之上構建REST API。你能聯繫我嗎? https://github.com/kipanshi/pyramid_skue – Kee

+0

嗨西里爾,我真的不知道如何與你聯繫。隨時給我發一封電子郵件到[email protected]。我看到你的代碼,看起來很有趣。我不再維護Sküe項目,我剛把它移到BitBucket:https://bitbucket.org/greivin_lopez/skue。您使用的版本有一些變化。我很高興你發現它是有用的,只要你保持我的文件頭在適當的文件沒有問題,繼續你的工作。 –

相關問題