Как отформатировать метод DELETE в openapi 3.0.2? - PullRequest
0 голосов
/ 18 июня 2019

У меня проблемы с поиском способа создания метода DELETE для метода POST, который я только что создал в своем дизайне API.Эта запись принимает requestBody объекта GlobalOrderSetupInfo, внутри этого объекта есть еще один объект, который будет массивом различных сеансов, в которые я хочу добавить информацию GlobalOrderSetupInfo, в методе удаления мне нужно удалить ту же самую информацию, но вы не можете удалить эту информацию.удалить метод с requestBody.Как мне создать его?

Вот мой метод сообщения:

'/api/globalorderdays':
post:
  tags:
    - Setup Global Order Days
  summary: Allows user to add orderdays to multiple sessions
  requestBody:
    required: true
    description: put text here
    content:
      application/json:
        schema:
          type: object
          items:
            $ref: '#/components/schemas/GlobalOrderSetupInfo'
  responses:
    '201':
      description: Created
    '400':
      description: Bad request
    '401':
      description: Unauthorized
components:
schemas:
GlobalOrderSetupInfo:
  description: 'Put Text Here'
  type: object
  properties:
    Id:
      type: integer
    AvailableHolidayList:
      type: string
    SelectedOrderHolidays:
      type: string
      example: "New Year's Day, President's Day, Memorial Day, Labor Day, Veterans Day, Thanksgiving Day, Chistmas Day"
    SelectedHolidays:
      type: string
      example: "New Year's Day, President's Day, Memorial Day, Labor Day, Veterans Day, Thanksgiving Day, Chistmas Day"
    OrderDays:
      type: string
      example: "01/01/2000"
    NoOrderDays:
      type: string
      example: "01/01/2000"
    AllSessionList:
      uniqueItems: false
      type: array
      items:
        $ref: '#/components/schemas/SessionInfoList'
    SessionIdString:
      type: string
      example: "15"

SessionInfoList:
  description: 'Put Text Here'
  type: object
  properties:
    Id:
      type: integer
    SessionID:
      type: integer
    Name:
      type: string
      example: "Harbor"
    Type:
      type: string
    GroupName:
      type: string
      example: "PHACTS"
    IsChecked:
      type: boolean
      default: false
      example: true/false
    SetupID:
      type: string

1 Ответ

1 голос
/ 18 июня 2019

Обычно ваш метод POST создает новую сущность и возвращает идентификатор этой сущности.Тогда у вас могут быть дополнительные маршруты, чтобы ПОЛУЧИТЬ эту сущность по ID, обновить (PATCH) ее или УДАЛИТЬ.

Так что в вашем примере запись для DELETE может выглядеть следующим образом:

'/api/globalorderdays/{id}':
  parameters:
    - in: path
      name: id
      required: true
      schema:
        type: integer
  get:
    summary: Get orderdays by id
    responses:
      '200':
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalOrderSetupInfo'
  delete:
    summary: Delete orderdays by id
    responses:
      '204':
        description: Deleted
      '404':
        description: id not found
      '401':
        description: Unauthorized
...