We have upgraded to the Crowd Release platform and are now creating API specifications which are using fragments as recommended by MuleSoft. However, we can import the RAML but can not generate the flows. There is no error - no warnings - nothing.
I have included an example.
> #%RAML 1.0 > version: v1 > title: api > types: > contactDetails: !include library/types/contactDetails.raml > > /contact: > post: > body: > application/json: > type: contactDetails
> #%RAML 1.0 Library > > types: > telephoneNumber: !include ../exchange_modules/fragment-flows-problem-fragment/1.0.0/telephone-number.raml > ``` > > contactDetails.raml > > ``` > #%RAML 1.0 DataType > uses: > contactDetails: ../types-library.raml > > properties: > name: > type: string > telephone: > type: contactDetails.telephoneNumber
> #%RAML 1.0 DataType > > description: | > **includes validation applicable to a contact telephone number** > *** > - Minimum length 9 > - Maximum length 15 > > type: string > displayName: Telephone Number > minLength: 9 > maxLength: 15 > pattern: ^[\d ]+$ > examples: > telephoneNumber1: "01433000000" > telephoneNumber2: "01433 000000"
I’ll just add that the RAML is valid in both Design Center and Exchange.
Just to add, if we remove the uses statement in the contactDetails.raml, then the contactDetails data type is not recognised.
If someone point out a problem here or explain how Anypoint Studio can import specifications which utilise fragments that would be extremely useful.