如何在REST请求中指定类型化参数?

时间:2013-02-06 08:59:55

标签: php javascript ruby-on-rails node.js rest

这是一个普遍的问题。外面的许多框架已经以某种方式得到了他们自己的解决方案,但这些只是限于他们自己的实现。

对RESTful Web服务的请求是纯文本的,您如何有效地对它们进行类型转换?尽管PHP具有类型提示,但在常量,null类型,javascript中的undefined或基本中的nilnothing中,这尤其困难。

对于中型到大型项目,按每个方法进行投射似乎是不切实际的。

这比编码问题更具理论性,但欢迎您用代码解释您的观点。

注意:我们正在讨论PHP,NodeJS和RoR的上下文中的最佳/常见做法和假设。 ASP.NET Web服务和Java Web方法有自己严格的语法,所以我在这里排除它们。

1 个答案:

答案 0 :(得分:0)

REST协议不涉及正在发送和接收的内容,它仅指定资源(使用URI指定)的操作(GET,PUT,DELETE等)。由于这些行为而发生的事情完全取决于您。

我90%的时间都使用JavaScript,这是一种动态语言。所以我想你的问题更多是关于如何以静态方式使用动态语言?每种语言都有不同的方式来键入检查和库来协助。就REST而言,您可能会发现http://json-schema.org/是指定类型化JSON的有用方法。以各种方式实施:http://json-schema.org/implementations.html