我是新来的RESTful服务的舞台。我一直在阅读关于REST的文章。我有很多疑问。请帮我清除这些疑惑。提前致谢。对RESTful Web服务有些怀疑?
1)对于所有REST风格的Web服务,是否会有用于描述服务的WSDL/WADL?服务描述是强制性的吗?如果没有描述,我怎么能知道我必须沿HTTPRequest发送的数据及其结构?
我读得像,请求内容可以是任何类型(XML,JSON,YAML等)。对于可以通过请求发送的内容类型没有限制。没有说明,我怎么能知道我应该发送的数据类型?
2)通过阅读文章,我得到了RESTful服务主要用于CRUD操作类服务的印象。针对不同操作的不同HTTP动词。但是如果你采用网络服务,它可以进行各种操作。例如,添加2个数字不完全是CRUD操作。如果我使用GET/POST的资源,可以为我做这个操作,那么它会违反REST原则? 3)如果您可以指向任何可用于测试的公共REST式Web服务,我可以尝试使用该服务并了解服务的复杂程度。
由于提前,
保罗
感谢您的回复。我从您提供的URL中检查了REST服务。我发现那里没有任何服务的描述。所以在客户端,我们将无法使用任何代码生成工具。创建请求并调用是由用户决定的。如果服务足够简单,这种方法是可以的。但是如果服务很复杂,拥有一个代码生成器不是很好吗? – 2011-04-26 11:46:02
对于REST服务,代码生成器不像SOAP服务那样需要尽可能多,尽管代码生成有其自身的问题,但是它仍然很好。流行的REST服务,例如Facebook Graph API,确实提供了库。 – 2011-04-26 15:48:04