2014-10-31 46 views
5

我寫,我使用的OData資源的advcened查詢的WEB API項目。該服務應該是RESTful。但我不確定OData是否因爲URI格式而爲RESTful。OData RESTful?

我到處看看REST URI格式看起來像這樣

http://example.com/resources/142 

不過的OData URI格式應該是這樣的

http://example.com/resources(142) 

我不知道如果這兩個是正確的REST或OData的不完全地REST風格。

回答

7

如果你正在編寫的服務應該是REST風格,你是擔心URI格式,那麼你應該做一些研究,關於這個問題,因爲URI語法是完全不相干的休息。

唯一約束REST上的URI強加是,它們都被視爲原子標識符,這意味着它們不能在部件被分割,以便將理解的,並且一個URI標識一個且僅一個資源。除此之外,URI語義和格式是不相關的。 REST重要的是客戶端如何獲得URI。如果他們是從文件讀取URI模式,並與值填充佔位符,那麼這是不是REST風格。你應該對HATEOAS做一些研究,如果這對你是新的。

1

URI是不那麼嚴格稱之爲REST-FUL。 有檢查您服務,並說不標準:「這是REST」或「這不是休息」。

無論如果URI是:

http://my.service/users/user-1/ 

OR

http://my.service/users/1/ 

OR

http://my.service/users(1) 

它仍然是REST-FUL服務。