mulesoft-labs/raml-java-client-generator

Support multiple responses

Condor70 opened this issue · 0 comments

The current raml-java-client-generator only maps the lowest 2xx HTTP response in the RAML file and assumes this type is valid for all 2xx responses.

The following example will create a Java client that incorrectly maps the 201 response to a TypeA instead of a TypeB class:

types:
  typeA:
    type: object
    properties:
      fieldA: string
  typeB:
    type: object
    properties:
      fieldB: integer
/test:
  get:
    responses:
      200:
        body:
          type: typeA
      201:
        body:
          type: typeB

The same is true for non-2xx responses.

The following example will throw an execption for a 401 response, but you will need to create the TypeB class and add the mapping yourself:

types:
  typeA:
    type: object
    properties:
      fieldA: string
  typeB:
    type: object
    properties:
      fieldB: integer
/test:
  get:
    responses:
      200:
        body:
          type: typeA
      401:
        body:
          type: typeB

Can support for multiple responses be added to the generator?