我正在尝试使用招摇语来编写JSON API并且我遇到了一些问题,因为某些字段是否需要,具体取决于所使用的方法。
以下是更新规范中的一行
资源对象必须包含type和id成员。
这里有一个来自创建规范
资源对象必须至少包含一个类型成员。
所以目前我有
Customer:
title: Customer
type: object
required: ["id", "type"]
properties:
id:
type: string
type:
type: string
attributes:
type: object
properties:
name:
type: string
address:
type: string
我要做的是required: ["id", "type"]
方法有patch
,required: ["type"]
方法只有post
。是否可以在不重新定义其他客户的情况下实现?
答案 0 :(得分:3)
您可以使用以下方法实现:
Customer:
title: Customer
type: object
required:
- type
properties:
id:
type: string
type:
type: string
attributes:
type: object
properties:
name:
type: string
address:
type: string
Customer_patch:
type: object
required:
- id
allOf:
- $ref: '#/definitions/Customer'
您必须重新定义另一个客户以放置其他必填字段,但您可以重复使用实际的客户定义对象。