Необязательный параметр в полезной нагрузке Swagger [duplicate]

Я просто потратил несколько часов, пытаясь выяснить, почему временная таблица, используемая в триггере, вела себя странно. Затем я понял, что временная таблица имеет то же имя, что и временная таблица в хранимой процедуре, используемой для вставки данных, запускающих триггер. Теперь я знаю, что это должно было быть очевидным для меня сразу, но это был типичный случай, когда он игнорировал самую очевидную причину, пытаясь выяснить, почему что-то не имеет смысла.

Так важно помните, что, когда хранимая процедура вызывает другой хранимый proc или запускает триггер, имена temp-таблиц должны быть уникальными для них, чтобы предотвратить нежелательные побочные эффекты.

Кроме того - даже при выполнении следующего кода во внутренней хранимой процедуре она не будет функционировать должным образом. Поскольку внешний хранимый proc, похоже, блокирует имя таблицы temp.

IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL
    DROP TABLE #TempTable
3
задан user79074 18 October 2016 в 16:15
поделиться

2 ответа

По умолчанию поля в модели являются необязательными, если вы не поместите их в список required. Ниже приведен пример - id, category - необязательные поля, требуется name. Обратите внимание, что required не является атрибутом полей, а атрибутом самого объекта - это список необходимых свойств.

type: object
required:  # List the required properties here
  - name
properties:
  id:
    type: integer
    format: int64
  category:
    $ref: '#/definitions/Category'
  name:
    type: string
    example: doggie

Ссылка: https://github.com/ swagger-api / swagger-codegen / blob / master / modules / swagger-codegen / src / test / resources / 2_0 / petstore.yaml # L658

Если это модель запроса body, вам, вероятно, также нужно будет пометить тело как required:

# swagger: '2.0'

parameters:
  - in: body
    name: body
    required: true  # <----
    schema:
      $ref: '#/definitions/Pet'

# openapi: 3.0.1

requestBody:
  required: true  # <----
  content:
    ...

Чтобы указать значение по умолчанию для необязательных полей, вы можете использовать атрибут default. Вот пример:

type: object
properties:
  huntingSkill:
    type: string
    description: The measured skill for hunting
    default: lazy
6
ответ дан Helen 19 August 2018 в 06:32
поделиться

Поля необязательны, если они не отмечены как обязательные.

Вы указываете необходимые поля:

SomeObject:
    type: object
    required:
      - name
      - fartingPower
    properties:
      name:
        type: string
      fartingPower:
        type: integer
0
ответ дан Bohdan 19 August 2018 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: