@Override public void postProcess(ApiMetadataContext context, ApiMetadataBuilder m) { conventionalProcessor.postProcess(context, m); //parameters m.getPaths().forEach((k,p) -> { p.getOperations().forEach(o -> { o.getParameters().forEach(param -> processParameter(context, param)); }); }); //models m.getModels().forEach((k,model) -> { processModel(context, model); }); }
protected void processOperation(ApiMetadataContext context, MApiOperationBuilder o) { ReflectMethod method = o.getRoute().getAction().getMethod(); //operation if(null != method) { Doc doc = method.getAnnotation(Doc.class); if(null == doc) { doc = searchUp(method); } if(null != doc) { resolveDoc(context, o, doc); } } //parameters o.getParameters().forEach((param) -> processParameter(context, param, method)); }
protected void createArguments(RouteBuilder route, FuncActionBuilder action, MApiOperationBuilder mo) { for(MApiParameterBuilder p : mo.getParameters()) { ArgumentBuilder arg = new ArgumentBuilder(); arg.setName(p.getName()); arg.setRequired(p.getRequired()); //validators if(null != p.getValidators() && !p.getValidators().isEmpty()) { p.getValidators().forEach(arg::addValidator); } //type resolveArgumentType(route, p, arg); //location. resolveArgumentLocation(route, p, arg); action.addArgument(arg); } }
protected void processOperation(ApiMetadataContext context, Map<Class<?>, ClassDoc> docs, MApiOperationBuilder o) { ReflectMethod method = o.getRoute().getAction().getMethod(); //operation if(null != method) { ClassDoc cdoc = resolveClassDoc(docs, method.getDeclaringClass(), false); MethodDoc mdoc = cdoc.methods.get(method.getName()); if(null != mdoc) { if(!Strings.isEmpty(mdoc.description)) { o.setDescription(mdoc.description); } if(!Strings.isEmpty(mdoc.response)) { for(MApiResponseBuilder resp : o.getResponses()) { if(resp.getStatus() >= 200 && resp.getStatus() < 300) { resp.setDescription(mdoc.response); break; } } } //parameters o.getParameters().forEach((param) -> processParameter(context, docs, mdoc, param, method)); } } }