Package org.apache.tapestry5.services.rest

## Interface OpenApiTypeDescriber

- All Known Implementing Classes:
    `DefaultOpenApiTypeDescriber`, `JacksonOpenApiTypeDescriber`

      @UsesOrderedConfiguration(OpenApiTypeDescriber.class)
      public interface OpenApiTypeDescriber

  Interface that describes the type of a REST endpoint parameter, return type or request body. It should add a `schema` (in most cases) or `content` property to the provided JSONObject if the given type is supported. This can be be also used to customize specific parameters or return type or request body of specific paths. As a service, this is a chain of instances of itself. All instances will be called.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `describe​(JSONObject description, Parameter parameter)` | Describes a REST event handler method parameter.
    `void` | `describeReturnType​(JSONObject description, Method method)` | Describes a REST event handler method return type.
    `void` | `describeSchema​(Class<?> entity, JSONObject schemas)` | Describes the schema of a mapped entity class

- - ### Method Detail

    - #### describe

          void describe​(JSONObject description,
                        Parameter parameter)

      Describes a REST event handler method parameter.
      Parameters:
        `description` - `JSONObject` containing the description of an event handler parameter.
        `parameter` - the event handler method parameter.

    - #### describeReturnType

          void describeReturnType​(JSONObject description,
                                  Method method)

      Describes a REST event handler method return type.
      Parameters:
        `description` - `JSONObject` containing the description of a path response.
        `method` - the event handler method itself.

    - #### describeSchema

          void describeSchema​(Class<?> entity,
                              JSONObject schemas)

      Describes the schema of a mapped entity class
      Parameters:
        `entity` - an entity class.
        `schemas` - `JSONObject` where the entity description should be added.
      See Also:
        `MappedEntityManager`