Support Expanding @ModelAttribute Request Params

Spring controller request params that are marked with @ModelAttribute
will now be flattened. In other words, instead of generating an
operation model that contains a complex object in the request, the
operation model will
appear to have been defined as accepting individual
simple type request parameters.

Using the @ModelAttribute on a controller method param
declares that Spring should bind request parameters to
the model object. As such, the Swagger model should
really show individual parameters, and not a complex
object type.
@dilipkrish - I just tried your scenario above. In that scenario, you would get 2 parameter fields for "foo". Let's say that a user supplies "One" for the first foo param field and "Two" for the second. In that case, Spring will populate both values into both places. So, the foo request param value would be set to "One,Two" and the example.foo property would also be set to "One,Two". This is more of a Spring implementation detail and not really a concern of the Swagger plugin. Just to be clear, if foo had been defined as a Set, I'm sure that Spring would populate that with the values but it would still do it in both places. Anyway, I think it is a logically invalid thing to do to have a request param field and a model attribute field with the same name and that developers would quickly figure out that they should pick one or the other. I did prove that no error get thrown in the scenario so developers could do this if they really wanted to.