I have a controller that I have to keep generic by having it accept a `String` as `@RequestBody` and return a String, i.e., `String processRequest(@RequestBody String json) {...}`

**I don't have control over the source code of that controller, but I can get to it programmatically.**

The real objects that are going to be passed in and returned are defined elsewhere in a series of request messages: `RequestMessage1.java`, `RequestMessage2.java`, etc. Responses are likewise: `Response1.java`, `Response2.java1`.

The controller also hands off the processing of these requests to a `Processor` that looks something like this (`Request1Processor.java`): `Response1 process(RequestMessage1 message)`.

My question is this. 

Is there a way to configure swagger such that it exposes the REST controller class's endpoint, i.e, `processRequest`, but shows all these Processor classes with their inputs and outputs as the documentation for that controller?

I saw as part of documentation the ability to add models that are not "reachable". I tried the method that's in documentation like this:

```
@Autowired
private TypeResolver typeResolver;

@Bean
public Docket api() {
  return new Docket(DocumentationType.SWAGGER_2)
      .select()
      .apis(RequestHandlerSelectors.any())
      .paths(PathSelectors.any())
      .build()
      .additionalModels(typeResolver.resolve(Date.class));
}

```

However, the additional Date model did not show up in swagger-ui.html.

What am I doing wrong here?

Also, is there a way to somehow show that `RequestMessage1` type will have a response with `Response1`?