2013-04-11 41 views
3

我正在爲使用燒瓶的庫構建一個REST風格的api。這個庫基本上有一系列函數,它接受unicode字符串中的輸入,並執行拼寫檢查/翻譯/音譯等。轉換函數的REST風格的api設計

正如我所看到的那樣,函數是資源,當我提出請求時我正在創建一個轉換,並且似乎應該只進行一次POST。

另外,因爲我沒有存儲任何東西,我應該使用GET?

是否有其他方法適用於非CRUD Rest Api?

回答

0

我不認爲你有多少選擇的餘地:

  • 你的資源預計文本處理
  • 提交文本的RESTful方式就是通過實體主體
  • GET請求不支持實體機構

這真是POSTPUT之間的選擇,那一個是明確的:你沒有創建一個resourc e,所以它不能是PUT

1

函數/方法不能是資源,因爲這意味着您正在進行RPC(遠程過程調用)。資源只是信息的來源(名詞,例如用戶,事物等)。另一方面RPC是關於調用方法/函數(一個動詞,例如createUser(),doSomething())。

REST中的資源只是一個信息的來源,它也提供統一的界面(統一提供所有資源,主要是CRUD操作)。

所以,你有兩個選擇:

  • 重新考慮你正在使用,尋找合適的名詞,它們發佈爲通過統一接口
  • 下降的RESTful API需要訪問的資源,輕鬆實現RPC通往庫庫