使用Scala中的Play框架开发的REST应用程序的Swagger yaml和json文件

时间:2017-08-29 08:47:34

标签: yaml swagger

我正在尝试为我的应用程序配置swagger。作为这个领域的新手,我去了不同的教程并试图将下面的json转换为YAML,但是它给出了错误缩进,响应丢失等错误。我面临的主要问题是识别语法以表示YAML格式的列表数组,然后在YAML中添加块,显示特定块的预期值。

要转换为YAML的JSON格式:

  {
       "abc":[
          {
             "xyz":[ //array of list
                {
                   "id":"",
                   "name":"",
                   "relation":[ //array of list
                      {
                         "first":{
                            "xxx":"",
                            "xxx":"",
                            "xxx":[ //array of string
                               ""
                            ]
                         },
                         "second":{
                            "xxx":"",
                            "xxx":"",
                            "xxx":[
                               ""
                            ],
                            "type":""
                         }
                      },
                      {
                         "first":{
                            "xxx":"",
                            "xxx":"",
                            "xxx":[ //array of string
                               ""
                            ]
                         },
                         "second":{
                            "xxx":"",
                            "xxx":"",
                            "xxx":[
                               ""
                            ],
                            "type":""
                   }
                }
             ],
             "rows":[

             ]
          }
       ]
    }

YAML如下:

    swagger: "2.0"
    info:
      version: 1.0.0
      title: xxxx
      description: xxxx
    schemes:
      - https
    host: xxxx
    basePath: xxxx
    paths:
      /xxx:
        post:
         summary: xxxx
         consumes:
            - application/json
         produces:
            - application/json
         parameters:
    abc:
        - xyz:
            id: string
            name: string
            relation: string
        - first:
            id: string
            name: string
            relation: string
          second:
             id: string
            name: string
            relation: string
        - first:
            id: string
            name: string
            relation: string
          second:
            id: string
            name: string
            relation: string

    responses:
            '200':
              description: Created

1 个答案:

答案 0 :(得分:0)

在使用YAML时,你谈论序列 s(除了映射标量)。序列是映射到Python中的列表和其他一些语言中的数组。

因此,如果您正在谈论“代表YAML中的列表数组”,那么您实际上是指一系列序列。在YAML中有三种表示方式。

块样式中的

块样式:

- - a
  - b
- - c
  - d

,block-style中的flow-style:

- [a, b]
- [c, d]

,或流式样式中的流式:

[[a, b,], [c, d,],]

任何在线YAML解析器都会向您显示上述内容相同。

请注意:

  • 你不能在流式
  • 中使用块式
  • 你可以使用尾随逗号(JSON不允许的东西,这使得JSON不必为人类编辑不必要)。

在您的示例YAML输出中,这是正确的YAML,没有序列序列(或术语中的列表数组)。