2016-06-12 9 views
1

Как я могу опустить свойство из определенного MSON? Я определил одну простую сущность (объект) с помощью MSON:Опустить свойство объекта, определенное в MSON

# Data Structures 

## Article (object) 
Represents an article 

## Properties 
+ id: 1 (number, optional) 
+ name: My first article (string) 

## Articles [/articles] 

### Get all articles [GET] 

Get all articles available on this website. 

+ Response 200 (application/json) 
+ Attributes (array[Article]) 

### Create an article [POST] 

Create new article. 

+ Request (application/json) 
    + Attributes (Article) 

Я использую Article объект в нескольких API конечных точек. Проблема в том, что я не хочу указывать id при публикации новой статьи, поэтому я хочу опустить ее в документации по методу POST. Можно ли включить объект Article во все конечные точки и сказать, какие поля я хочу опустить?

+0

Не опциональная спецификации на структуру данных достаточно? – Vincenzo

+0

Это необязательно ... Вы не можете установить его, потому что база данных заполняет 'id' с помощью автоматического увеличения. Возможно, вы правы, вы можете опубликовать его, и я могу игнорировать его, но это странно видеть в документации и не может его использовать. – Northys

ответ

1

На самом деле нет способа, как это сделать. У вас есть два варианта:

  • DECLARE id с атрибутом nullable

  • Объявить Article без id, а затем наследовать от Article и прикрепить id.

 
# Data Structures 

## Article (object) 
+ name: My first article (string) 

## ArticleInstance (Article) 
+ id (number) 

## Articles [/articles] 

### Get all articles [GET] 

Get all articles available on this website. 

+ Response 200 (application/json) 
+ Attributes (array[Article]) 

### Create an article [POST] 

Create new article. 

+ Request (application/json) 
    + Attributes (Article) 
+0

Спасибо. Однако он не добавляет свойство id в унаследованную «статью». «Статья» и «ArticleInstance» одинаковы. [Здесь вы можете увидеть полный проект] (https://gist.github.com/Northys/aec89a325e223d86674e4d78cb31378c). Я что-то упускаю? – Northys

+0

Прошу прощения, поля добавляются в нижней части объекта. Он работает, спасибо! – Northys