@Fly3110
web developer

Как в RAML убрать некоторые параметры из типа, который используется для тела запроса?

Всем привет.

Использую RAML 1.0
Есть тип Order с некоторыми полями, в том числе и id.
Есть POST запрос к /orders, в теле которого передается объект "Order", но без поля id.
Можно ли как-то исключить это поле из списка полей типа для тела запроса?

то есть, этот тип указан и как тип для тела запроса и как тип структуры ответа. Использовать 2 разных типа, или inline описание не хочется, так как у типа Order все поля с описаниями и это будет дублирование 80% информации. Можно еще создать тип OrderRequest и наследовать его в Orders, но это тоже какой-то костыль...

Есть ли какое-то решение?
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 2
создать тип OrderRequest и наследовать его в Orders, но это тоже какой-то костыль...

Согласен. Но почему бы не наследовать и Order и OrderRequest от OrderInfo, в котором будут все общие поля?
Ответ написан
RAML 1.0 поддерживает наследование от нескольких типов:

#%RAML 1.0
title: Example API
version: v1

types: 
  Order:
    type: object
    properties: 
      id:
        type: integer
      date:
        type: integer

  Ext_type:
    type: object
    properties: 
      ext_type_property:
        type: string

  Order_ext:
    type: [Order,Ext_type]


API console обработал корректно
Что будет при "смешивании" различных типов не проверял.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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