2014-10-31 47 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服务。