private MApiParameterBuilder newIdParameter(RestdModel model, FieldMapping id) { MApiParameterBuilder p = new MApiParameterBuilder(); p.setName(id.getFieldName()); p.setLocation(MApiParameter.Location.PATH); p.setRequired(true); p.setType(id.getDataType()); return p; }
protected MApiParameterBuilder toApiParameter(MetaApi mapi, HTTP.Method method, MetaParameter mp) { MApiParameterBuilder p = new MApiParameterBuilder(); MetaUtils.copyNamed(mp, p); p.setRequired(mp.getRequired()); p.setLocation(mp.getLocation()); p.setFile(mp.isFile()); p.setType(mp.getResolvedType()); if (HTTP.Method.PATCH.equals(method)) { if(p.getType().isComplexTypeOrRef()) { Validators.setPartial(true); p.getOrCreateExtention().setAttribute("partial", true); } } ArgumentValidator validator = Validators.of(mapi, mp); if(null != validator) { p.addValidator(validator); } Validators.removePartial(); return p; }
protected void processParameter(ApiMetadataContext context, Map<Class<?>, ClassDoc> docs, MethodDoc doc, MApiParameterBuilder param, ReflectMethod method) { Argument a = param.getArgument(); if (null != a) { if(null != param.getWrapperArgument()) { ClassDoc wrapperDoc = resolveClassDoc(docs, param.getWrapperArgument().getType(), true); String desc = wrapperDoc.properties.get(a.getDeclaredName()); if(!Strings.isEmpty(desc)) { param.setDescription(desc); } }else{ String desc = doc.params.get(a.getDeclaredName()); if(!Strings.isEmpty(desc)) { param.setDescription(desc); } } } }
protected boolean setDefaultLocation(RouteBuilder route, MApiParameterBuilder p) { if(null == p.getLocation()) { if (route.getPathTemplate().getTemplateVariables().contains(p.getName())) { p.setLocation(MApiParameter.Location.PATH); return true; } if(p.getType().isComplexType() || p.getType().isTypeRef() || p.getType().isDictionaryType()) { p.setLocation(MApiParameter.Location.BODY); return true; } p.setLocation(MApiParameter.Location.QUERY); return true; } return false; }
public MApiParameterBuilder readParameter(Map<String,Object> map) { MApiParameterBuilder mp = new MApiParameterBuilder(); JsonObject p = JsonObject.of(map); readParameterBase(null, p, mp); mp.setLocation(readParameterIn(mp.getName(), p.getString(IN))); return mp; }
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; }
protected void processParameter(ApiMetadataContext context, MApiParameterBuilder p) { ParamConfig pc = null; if(null != p.getWrapperArgument()) { ParamConfig wrapperParam = context.getConfig().getParam(p.getWrapperArgument().getType()); if(null != wrapperParam) { pc = wrapperParam.getWrappedParam(p.getArgument().getDeclaredName()); if(null == pc) { pc = wrapperParam.getWrappedParam(p.getName()); } } } trySetDoc(p, pc, pc); }
protected void resolveArgumentType(RouteBuilder route, MApiParameterBuilder p, ArgumentBuilder arg) { MType type = p.getType(); if (type.isComplexType() || type.isTypeRef()) { arg.setType(Map.class); throw new IllegalStateException("Unsupported type '" + type + "' at parameter '" + p.getName() + "'");
protected void processParameter(ApiMetadataContext context, MApiParameterBuilder param, ReflectMethod method) { Argument a = param.getArgument(); if (null != a) { Doc doc = param.getArgument().getAnnotation(Doc.class); if (null == doc && null == param.getWrapperArgument() && null != method && null != a.getParameter()) { //search from super class or interface. doc = searchUp(method, a.getParameter()); } if (null != doc) { resolveDoc(context, param, doc); } } }
protected void resolveArgumentLocation(RouteBuilder route, MApiParameterBuilder p, ArgumentBuilder arg) { setDefaultLocation(route, p); if (p.getLocation() == MApiParameter.Location.BODY) { arg.setLocation(Argument.Location.REQUEST_BODY); return; } if (p.getLocation() == MApiParameter.Location.QUERY) { arg.setLocation(Argument.Location.QUERY_PARAM); return; } if (p.getLocation() == MApiParameter.Location.FORM) { arg.setLocation(Argument.Location.REQUEST_PARAM); return; } if (p.getLocation() == MApiParameter.Location.PATH) { arg.setLocation(Argument.Location.PATH_PARAM); return; } if (p.getLocation() == MApiParameter.Location.HEADER) { arg.setLocation(Argument.Location.HEADER_PARAM); return; } throw new IllegalStateException("Location '" + p.getLocation() + "' not implemented!"); }
private MApiParameterBuilder newModelParameter(RestdModel model) { MApiParameterBuilder p = new MApiParameterBuilder(); p.setName(Strings.lowerCamel(model.getName())); p.setLocation(MApiParameter.Location.BODY); p.setRequired(true); p.setType(new MComplexTypeRef(model.getName())); return p; }
continue; MApiParameterBuilder p = new MApiParameterBuilder(); p.setName(name); p.setLocation(MApiParameter.Location.QUERY); p.setType(MSimpleTypes.STRING); p.setRequired(true); mo.addParameter(p);
continue; MApiParameterBuilder p = new MApiParameterBuilder(); p.setName(param.getName()); p.setRequired(true); p.setType(MSimpleTypes.STRING);