Javascript google translate api v2是RESTful架构吗?
Google translate API v2是纯GET风格的,在Javascript google translate api v2是RESTful架构吗?,javascript,rest,google-translate,Javascript,Rest,Google Translate,Google translate API v2是纯GET风格的,在https://www.googleapis.com/language/translate/v2 因此,基本上该工具的所有变体都将被这样调用https://www.googleapis.com/language/translate/v2?parameters 他们声称这项服务是宁静的(http://code.google.com/apis/language/translate/v2/using_rest.html)因为它基于一个简
https://www.googleapis.com/language/translate/v2
因此,基本上该工具的所有变体都将被这样调用https://www.googleapis.com/language/translate/v2?parameters
他们声称这项服务是宁静的(http://code.google.com/apis/language/translate/v2/using_rest.html)因为它基于一个简单的GET url
但严格地说,它实际上是一个RESTful架构吗
因为有一个基于简单GET url的服务与RESTful并不相似,对吧?我个人只会将任何服务作为REST公开,前提是我可以将该服务建模为面向资源的服务,在大多数情况下,这是关于将数据公开为资源。在GoogleTranslateAPI的例子中,它提供了更多的RPC感觉,而不是它公开的资源。
因此,即使谷歌可以将其称为REST(因为它基于简单get URL),但我不认为它是基于REST的服务。另外,如果您查看URL,它不是在标识资源,而是看起来更像是一个端点,您可以在查询字符串中向其传递值,并根据这些值获得结果。如果您想将其称为RESTful,它应该符合Fielding的标准
- 客户机-服务器-将UI与数据存储分离
- 无状态服务器—提高可靠性和可扩展性
- 客户端缓存-减少一些网络流量
- 统一接口—将实现与它们提供的服务解耦
- 分层系统-意味着每个组件只关注其正下方或正上方的组件
- 按需编码-允许通过下载小程序或脚本扩展客户端功能
现在,当人们使用GET来发布内容时。。。。这就是你应该反对的地方。好吧,那么基本上,如果我有一个基于简单GET URL的服务,在该URL中提供参数并以json的形式接收数据(有点像google API的结构),我可以声称它是一个restful架构吗?实际上这是非常主观的,REST本身有不同的层次,从简单的URL映射到资源,再到超链接,它是一种金字塔。您的服务可以是这个金字塔中的任何特定层,但是是的,您可以在任何级别调用REST full:)+1,就像我在这里说的: