【问题标题】:Omit property of object defined in MSON省略 MSON 中定义的对象的属性
【发布时间】:2016-06-12 15:12:56
【问题描述】:

如何从定义的 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)

我在几个 api 端点中使用 Article 对象。问题是我不想在发布新文章时指定id,所以我想在POST 方法的文档中省略它。是否可以在所有端点中包含 Article 实体并说出我想省略哪些字段?

【问题讨论】:

  • 数据结构的可选规范还不够吗?
  • 它不是可选的...你不能设置它,因为数据库使用自动增量填充id。也许您是对的,您可以发布它,我可以忽略它,但是在文档中看到它并且无法使用它很奇怪。

标签: apiblueprint apiary.io mson


【解决方案1】:

实际上没有办法做到这一点。 你有两个选择:

  • 用属性nullable声明id

  • 声明Article 不带id,然后从Article 继承并附加id

# 数据结构 ##文章(对象) + 名称:我的第一篇文章(字符串) ## ArticleInstance(文章) + id(数字) ## 文章 [/articles] ### 获取所有文章 [GET] 获取本网站上所有可用的文章。 + 响应 200(应用程序/json) + 属性(数组[文章]) ### 创建文章 [POST] 创建新文章。 + 请求(应用程序/json) + 属性(文章)

【讨论】:

  • 谢谢。它不会将id 属性添加到继承的Article 中。 ArticleArticleInstance 相同。 Here you can see full blueprint。我错过了什么吗?
  • 对不起,字段被添加到实体的底部。成功了,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-08
  • 2011-11-23
  • 2019-10-02
相关资源
最近更新 更多