Нет способа (AFAIK) динамически исключать фрагменты вашего API spe c - более того, какова будет семантика такой функции? то есть в чем смысл? Другое соображение, как это применимо, когда вы берете spe c и начинаете его реализовывать?
Теперь есть способ расширить существующую API-спецификацию c с помощью RAML extension
. https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md/#extensions
Если вы используете фрагмент RAML extension
, Spe c будет разделен на два файла:
1) Файл root RAML :
#%RAML 1.0
baseUri: https://api.mybanks.com/v1
title: MyBanks-API
version: v1
protocols: [HTTP, HTTPS]
mediaType: application/json
/accounts:
get:
description: List all accounds
responses:
200:
body:
text/plain:
example: ['a1', 'a2', 'a3']
2) Фрагмент extension
:
#%RAML 1.0 Extension
extends: banks-api.raml
/banks:
get:
description: Lists all banks
responses:
200:
body:
text/plain:
example: ['b1', 'b2']
Теперь у вас есть два представления вашего API: (1) root и (2) extension
. Вы можете предоставить root или extention
своим пользователям.