2012-07-30 111 views
1

我试图找到一个类似的答案,但不能,所以这里有云:需要JSON模式属性

当定义一个JSON文档的架构,如果我们定义为需要的属性,这方面的要求用于输入数据,还是用于输入和输出?例如: 假设我们有一个名为Id的属性。此ID始终存在于资源中,但此Id由服务器生成。如果我想为公共消费发布我的架构,并且允许某人创建此资源的实例,那么Id是否应该按需要定义?所需的属性仅仅是API的消费者必须发送来创建资源的属性,还是资源始终具有的所有属性,包括服务器生成的属性?

+0

另外,我应该在只架构API消费者可以发送的那些属性(即使可选)或者我还应该定义那些服务器生成的属性(如dateCreated,dateUpdated等)? – 2012-07-30 17:43:15

+0

您是否暗示在您的任何用例中消费者从未使用Id属性,并且这是您服务器的工件? – grumpasaurus 2012-10-31 17:25:35

+0

该Id用作只读属性。它用于访问资源。 – 2012-12-17 21:51:09

回答

0

如果您需要验证“id”键是否存在,那么您应该使其成为必需。你可以做的是有两个不同的模式:一个用于验证来自用户的模式(无“ID”),另一个用于验证api呼叫,其中包括“ID”键