我对在我的 json 模式中定义属性的哪种情况感到困惑。
假设我有一个product
我正在尝试为其定义模式的项目。在我的数据库中,该表products
具有id
、brand_id
、和。除必填字段外的所有字段。由数据库自动生成,并在创建时由 api 根据用户创建自动设置。name
item_number
description
description
id
brand_id
这意味着我只能POST /api/products
使用以下数据:
{
"product": {
"name": "Product Name",
"item_number": "item001"
}
}
但是,我现在应该如何定义产品架构?我应该包括属性id
和brand_id
?如果是这样,我是否应该根据需要标记它们,即使它们是自动设置的?
这就是我想出的:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://jsonschema.net/products",
"type": "object",
"properties": {
"item_number": {
"id": "http://jsonschema.net/products/item_number",
"type": "string"
},
"name": {
"id": "http://jsonschema.net/products/name",
"type": "string"
},
"description": {
"id": "http://jsonschema.net/products/description",
"type": "string",
"default": "null"
}
},
"required": [
"item_number",
"name"
]
}