public class OperationParameterReader extends SwaggerParameterReader {
@Override
protected Collection<? extends Parameter> readParameters(final RequestMappingContext context) {
HandlerMethod handlerMethod = context.getHandlerMethod();
SwaggerGlobalSettings swaggerGlobalSettings = (SwaggerGlobalSettings) context.get("swaggerGlobalSettings");
HandlerMethodResolver handlerMethodResolver
= new HandlerMethodResolver(swaggerGlobalSettings.getTypeResolver());
AlternateTypeProvider alternateTypeProvider = swaggerGlobalSettings.getAlternateTypeProvider();
List<ResolvedMethodParameter> methodParameters = handlerMethodResolver.methodParameters(handlerMethod);
List<Parameter> parameters = newArrayList();
List<Command<RequestMappingContext>> commandList = newArrayList();
commandList.add(new ParameterAllowableReader());
commandList.add(new ParameterDataTypeReader());
commandList.add(new ParameterTypeReader());
commandList.add(new ParameterDefaultReader());
commandList.add(new ParameterDescriptionReader());
commandList.add(new ParameterMultiplesReader());
commandList.add(new ParameterNameReader());
commandList.add(new ParameterRequiredReader());
ModelAttributeParameterExpander expander = new ModelAttributeParameterExpander(alternateTypeProvider);
for (ResolvedMethodParameter methodParameter : methodParameters) {
if (!shouldIgnore(methodParameter, swaggerGlobalSettings.getIgnorableParameterTypes())) {
RequestMappingContext parameterContext
= new RequestMappingContext(context.getRequestMappingInfo(), handlerMethod);
parameterContext.put("methodParameter", methodParameter.getMethodParameter());