protected void correctHttpMethod(OperationGenerator operationGenerator) { if (StringUtils.isEmpty(operationGenerator.getHttpMethod())) { operationGenerator.setHttpMethod(HttpMethod.POST); } }
protected void processMethod(RequestMethod requestMethod, OperationGenerator operationGenerator) { operationGenerator.setHttpMethod(requestMethod.name()); }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { Annotation httpMethodAnnotation = (Annotation) annotation; HttpMethod httpMethod = httpMethodAnnotation.annotationType().getAnnotation(HttpMethod.class); operationGenerator.setHttpMethod(httpMethod.value()); } }
protected void scanMethods() { // 有时方法顺序不同,很不利于测试,所以先排序 List<Method> methods = Arrays.asList(cls.getMethods()); methods.sort(Comparator.comparing(Method::getName)); for (Method method : methods) { if (isSkipMethod(method)) { continue; } OperationGenerator operationGenerator = new OperationGenerator(this, method); operationGenerator.setHttpMethod(httpMethod); try { operationGenerator.generate(); } catch (Throwable e) { String msg = String.format("generate operation swagger failed, %s:%s", this.cls.getName(), method.getName()); throw new Error(msg, e); } String operationId = operationGenerator.getOperation().getOperationId(); if (operationGeneratorMap.containsKey(operationId)) { throw new Error(String.format("OperationId must be unique. %s:%s", cls.getName(), method.getName())); } operationGeneratorMap.put(operationId, operationGenerator); } }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { ApiOperation apiOperationAnnotation = (ApiOperation) annotation; Operation operation = operationGenerator.getOperation(); operationGenerator.setHttpMethod(apiOperationAnnotation.httpMethod()); if (!StringUtils.isEmpty(apiOperationAnnotation.value())) { operation.setSummary(apiOperationAnnotation.value()); } if (!StringUtils.isEmpty(apiOperationAnnotation.notes())) { operation.setDescription(apiOperationAnnotation.notes()); } operation.setOperationId(apiOperationAnnotation.nickname()); operation.getVendorExtensions().putAll(BaseReaderUtils.parseExtensions(apiOperationAnnotation.extensions())); convertTags(apiOperationAnnotation.tags(), operation); convertProduces(apiOperationAnnotation.produces(), operation); convertConsumes(apiOperationAnnotation.consumes(), operation); convertProtocols(apiOperationAnnotation.protocols(), operation); AnnotationUtils.addResponse(operationGenerator.getSwagger(), operation, apiOperationAnnotation); // responseReference未解析 // hidden未解析 // authorizations未解析 }
protected void correctHttpMethod(OperationGenerator operationGenerator) { if (StringUtils.isEmpty(operationGenerator.getHttpMethod())) { operationGenerator.setHttpMethod(HttpMethod.POST); } }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { Annotation httpMethodAnnotation = (Annotation) annotation; HttpMethod httpMethod = httpMethodAnnotation.annotationType().getAnnotation(HttpMethod.class); operationGenerator.setHttpMethod(httpMethod.value()); } }
protected void processMethod(RequestMethod requestMethod, OperationGenerator operationGenerator) { operationGenerator.setHttpMethod(requestMethod.name()); }
protected void scanMethods() { // 有时方法顺序不同,很不利于测试,所以先排序 List<Method> methods = Arrays.asList(cls.getMethods()); methods.sort(Comparator.comparing(Method::getName)); for (Method method : methods) { if (isSkipMethod(method)) { continue; } OperationGenerator operationGenerator = new OperationGenerator(this, method); operationGenerator.setHttpMethod(httpMethod); try { operationGenerator.generate(); } catch (Throwable e) { String msg = String.format("generate operation swagger failed, %s:%s", this.cls.getName(), method.getName()); throw new Error(msg, e); } String operationId = operationGenerator.getOperation().getOperationId(); if (operationGeneratorMap.containsKey(operationId)) { throw new Error(String.format("OperationId must be unique. %s:%s", cls.getName(), method.getName())); } operationGeneratorMap.put(operationId, operationGenerator); } }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { ApiOperation apiOperationAnnotation = (ApiOperation) annotation; Operation operation = operationGenerator.getOperation(); operationGenerator.setHttpMethod(apiOperationAnnotation.httpMethod()); if (!StringUtils.isEmpty(apiOperationAnnotation.value())) { operation.setSummary(apiOperationAnnotation.value()); } if (!StringUtils.isEmpty(apiOperationAnnotation.notes())) { operation.setDescription(apiOperationAnnotation.notes()); } operation.setOperationId(apiOperationAnnotation.nickname()); operation.getVendorExtensions().putAll(BaseReaderUtils.parseExtensions(apiOperationAnnotation.extensions())); convertTags(apiOperationAnnotation.tags(), operation); convertProduces(apiOperationAnnotation.produces(), operation); convertConsumes(apiOperationAnnotation.consumes(), operation); convertProtocols(apiOperationAnnotation.protocols(), operation); AnnotationUtils.addResponse(operationGenerator.getSwagger(), operation, apiOperationAnnotation); // responseReference未解析 // hidden未解析 // authorizations未解析 }