@Override public void apply(OperationContext context) { context.operationBuilder() .responseMessages(read(context)); }
@Override public void apply(OperationContext context) { List<ApiResponseDoc> list = context.findAllAnnotations(ApiResponseDoc.class); if (list.size() != 0) { ApiResponseDoc responseDoc = list.get(0); ModelRef modelRef = new ModelRef("ModelShow_" + responseDoc.value().getSimpleName(),null,true); context.operationBuilder().responseModel(modelRef); Set<ResponseMessage> responseMessages = new HashSet<>(); responseMessages.add(new ResponseMessage(200,"",modelRef,null,null)); context.operationBuilder().responseMessages(responseMessages); } }
@Override public void apply(OperationContext context) { List<ResponseMessage> responseMessages = context.getGlobalResponseMessages(context.httpMethod().toString()); context.operationBuilder().responseMessages(newHashSet(responseMessages)); applyReturnTypeOverride(context); }
protected List<springfox.documentation.service.Operation> initOperation(String path, AutoRequestMethod autoRequestMethod, DocumentationContext documentationContext) { List<Operation> operators = new ArrayList<>(); Set<RequestMethod> requestMethods = autoRequestMethod.getRequestMappingInfo().getMethodsCondition() .getMethods(); requestMethods.forEach((method) -> { String summary = AnnotationUtils.findAnnotation(autoRequestMethod.getMethod(), Explain.class).value(); operators.add(new OperationBuilder(nameGenerator) .responseMessages(Sets.newHashSet(new ResponseMessageBuilder().code(200).message("OK") .responseModel(new ModelRef("ResultEntityTemplate")).build())) .responseModel(new ModelRef("ResultEntityTemplate")).method(HttpMethod.valueOf(method.toString()))//http请求类型 .produces(autoRequestMethod.getRequestMappingInfo().getProducesCondition().getProducibleMediaTypes() .stream().map(mediaType -> { return mediaType.toString(); }).collect(Collectors.toSet())) .summary(summary).notes(summary)//方法描述 .tags(Sets.newHashSet("AutoGeneratorMethod")).deprecated("自动生成方法") .parameters(generatorParameters(autoRequestMethod, documentationContext)).build()); }); return operators; }
private void applyReturnTypeOverride(OperationContext context) { ResolvedType returnType = context.alternateFor(context.getReturnType()); int httpStatusCode = httpStatusCode(context); String message = message(context); ModelReference modelRef = null; if (!isVoid(returnType)) { ModelContext modelContext = ModelContext.returnValue( context.getGroupName(), returnType, context.getDocumentationType(), context.getAlternateTypeProvider(), context.getGenericsNamingStrategy(), context.getIgnorableParameterTypes()); modelRef = modelRefFactory(modelContext, typeNameExtractor).apply(returnType); } ResponseMessage built = new ResponseMessageBuilder() .code(httpStatusCode) .message(message) .responseModel(modelRef) .build(); context.operationBuilder().responseMessages(newHashSet(built)); }