Ресурс RAML принимает несколько перечислений - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть черта details с определенным enums

details:
   queryParams:
      detail:
         type: string
         enum: [small, big, categories, box]

Когда я запрашиваю конечную точку, которая использует эту черту, example.com/api?detail=small,big, я получаю ошибку проверки API.

Как определить enum, чтобы я мог запросить example.com/api?detail=small и example.com/api?detail=small,big и example.com/api?detail=small,big,small и т. Д.

1 Ответ

0 голосов
/ 14 ноября 2018

Для этого варианта использования вы можете использовать признак, передавая список полей допустимых значений, например:

#%RAML 1.0
---
title: test
baseUri: https://mocksvc.qax.mulesoft.com/mocks/73ff2db5-abbf-4cad-aab1-80f6da9d6055
version: v2
protocols: [ HTTP ]
mediaType: application/json

traits:
  sparsable:
    queryParameters:
      detail?:
        type: string
        pattern: (<<fieldset>>),?

/api:
  displayName: api
  get:
    is: [ sparsable: { fieldset: small|big|categories|box } ]

слава: https://medium.com/raml-api/arrays-in-query-params-33189628fa68

...