Php JSON数据到web服务-如何定义预期的JSON数据
我正在用PHP构建一个RESTful web服务,它接受JSON作为其负载 . 现在,我的问题是,我如何准确地向用户描述JSON请求的格式?我是JSON新手,我不认为我掌握了100% 其他用户系统是否会使用我需要的键值对创建一个数据结构(如数组),用JSON编码并将其发送到我的web服务 我真的要给他们一份阵列所需外观的副本吗?Php JSON数据到web服务-如何定义预期的JSON数据,php,json,web-services,rest,Php,Json,Web Services,Rest,我正在用PHP构建一个RESTful web服务,它接受JSON作为其负载 . 现在,我的问题是,我如何准确地向用户描述JSON请求的格式?我是JSON新手,我不认为我掌握了100% 其他用户系统是否会使用我需要的键值对创建一个数据结构(如数组),用JSON编码并将其发送到我的web服务 我真的要给他们一份阵列所需外观的副本吗? 谢谢 遵循REST的指导原则,您从API用户处获得的输入应该是URL的一部分(对于get请求;不更新数据,即http://example.com/api/doc/124
谢谢 遵循REST的指导原则,您从API用户处获得的输入应该是URL的一部分(对于get请求;不更新数据,即
http://example.com/api/doc/1243
),或者应该是POST变量(在HTTP请求主体中发送到同一URL)
因此,对于文档,您只需指出端点URL(http://example.com/api/doc/1243
),他们需要使用POST的事实,以及变量是什么(即标题
,正文
,作者
,等等)。然后用户将根据自己的意愿形成适当的HTTP请求,在您的服务器端,因为您使用的是PHP,所以您将从$\u POST
数组中提取他们的变量(即$\u POST['title']
,$\u POST['body']
等)。是使用JSON作为负载的restful api的一个很好的例子
您还将了解如何记录API。REST服务输出JSON编码的数据是很常见的;您真的将输入作为JSON编码的(而不是标准的GET查询参数或POST数据值)?最常见的是什么?如果POST值是标准,那么我将使用它。该服务将接受许多产品代码/数量。如何通过POST传递这些数据?类似于:product_1=item1&product_1_数量=2&product_2=item2&product_2_数量=5?对于更新数据,是的,POST是常见的,并且是RESTful方法所必需的;请参阅我的答案以获得完整解释可能的重复-您根据Json模式进行验证,请参阅POST数据实际上不必是查询字符串。发布JSON编码的数据是完全有效的——发布数据的格式是使用传出请求的“Content Type”头定义的,该头默认为“application/x-www-form-urlencoded”,但可以是任何内容。如果您正在存储JSON数据,那么通过POST接受JSON数据对我来说似乎是合理的。谢谢-非常好的回答。例如,对于购物车,如何在查询字符串中传递产品(因为可能有很多产品?)。您是否只需执行“产品1=测试&产品1=数量=4&产品2=测试2&产品2=数量=9”等操作?对于向购物车添加产品,您可以这样组织。或者,让最终用户调用“添加到购物车”“方法多次,每种产品一次:端点
/api/cart/1243/add
,调用数据product\u id
和quantity
,但需要调用多次。谢谢-这太完美了。这是一个很好的例子。