protected MApiParameterBuilder createApiParameter(ApiMetadataContext context, ApiMetadataBuilder m, Route route, MApiOperationBuilder op, Argument a) { MApiParameterBuilder p = new MApiParameterBuilder(); p.setName(a.getName()); p.setArgument(a); log.trace("{}", a.getName(), p.getLocation()); if(isParameterFileType(a.getType())) { p.setType(MSimpleTypes.BINARY); p.setFile(true); op.addConsume(MimeTypes.MULTIPART_FORM_DATA); }else{ p.setType(createMType(context, m, route.getAction().getControllerClass(), a.getType(), a.getGenericType())); } p.setLocation(getParameterLocation(context, route.getAction(), a, op, p)); if (null != a.getRequired()) { p.setRequired(a.getRequired()); } else if (p.getLocation() == MApiParameter.Location.PATH) { p.setRequired(true); } if(a.getType().isEnum()){ p.setEnumValues(Enums.getValues(a.getType())); } op.addParameter(p); return p; }