2016-05-17 35 views
2

因此,傳統的API資源允許您將GETPUT,PATCH,DELETE等資源。執行動作的API路由

/api/v1/user/$id 

但是,執行某個操作並返回有關該操作結果的某個響應的路由的技術術語是什麼?

/api/v1/flushcache 
+1

刷新緩存不等於DELETE/api/v1/cache? –

+0

@CássioMazzochiMolin我以爲你需要能夠做其他的http方法,因爲它是一個資源。從你的評論我假設你不需要做所有的方法成爲一個適當的資源呢? – myol

+0

從語義上講,'DELETE/api/v1/cache'意味着你實際上*刪除了緩存,因爲它不再存在,關閉或者完全刪除。沖洗是一種不同的情況。 –

回答

2

一種方法是隻是有一個cache資源:

/api/v1/cache 

這將返回一些緩存的狀態,例如application/vnd.company.cachestate+json

{ 
    "state": "active", 
    "objectCount": 123 
} 

然後,你可以PUT相同的表示:

{ 
    "state": "flushed" 
} 

哪位能返回:

{ 
    "state": "active", 
    "objectCount": 0 
} 

的一點是,你必須先制定問題在現有的術語。所使用的術語是總是

  • 資源(你所說的「路線」):由資源實際使用的消息格式:它有一些業務語義
  • 表示的實體。資源可能支持多種表示形式!
  • MIME類型:一個代表(或多個的)

做的形式化描述,又,通常沒有的資源,「不」的東西,更像是,資源是一些業務實體,而標準操作(GET,PUT,POST,DELETE等)是映射到對該實體的一些操作。

+0

這不是回答這個問題。他不想知道RESTful方法來做到這一點,他想知道非RESTful方式的*名稱*。 –

+0

夠公平的,我澄清了這一點。 –