public void init(SwaggerToClassGenerator swaggerToClassGenerator, Response response) { if (javaType == null) { javaType = swaggerToClassGenerator.convert(response.getSchema()); } if (response.getHeaders() == null) { return; } for (Entry<String, Property> entry : response.getHeaders().entrySet()) { JavaType headerJavaType = swaggerToClassGenerator.convert(entry.getValue()); headers.put(entry.getKey(), headerJavaType); } }
private void fillResponseType(Operation operation, ProtoMethod protoMethod) { for (Entry<String, Response> entry : operation.getResponses().entrySet()) { String type = convertSwaggerType(entry.getValue().getSchema()); boolean wrapped = !messages.contains(type); ProtoResponse protoResponse = new ProtoResponse(); protoResponse.setTypeName(type); if (wrapped) { String wrapName = StringUtils.capitalize(operation.getOperationId()) + "ResponseWrap" + entry.getKey(); wrapPropertyToMessage(wrapName, entry.getValue().getSchema()); protoResponse.setTypeName(wrapName); } protoMethod.addResponse(entry.getKey(), protoResponse); } }
protected void convertResponses() { if (swagger.getPaths() == null) { return; } for (Path path : swagger.getPaths().values()) { for (Operation operation : path.getOperations()) { for (Response response : operation.getResponses().values()) { convert(response.getSchema()); Map<String, Property> headers = response.getHeaders(); if (headers == null) { continue; } for (Property header : headers.values()) { convert(header); } } } } }
public void scanResponse() { if (operation.getResponses() != null) { Response successResponse = operation.getResponses().get(SwaggerConst.SUCCESS_KEY); if (successResponse != null) { if (successResponse.getSchema() == null) { // 标注已经定义了response,但是是void,这可能是在标注上未定义 // 根据函数原型来处理response Property property = createResponseProperty(); successResponse.setSchema(property); } return; } } Property property = createResponseProperty(); Response response = new Response(); response.setSchema(property); operation.addResponse(SwaggerConst.SUCCESS_KEY, response); }
Response apiOperationResponse = operation.getResponses().get(String.valueOf(apiResponse.code())); if (apiOperationResponse != null) { response.setSchema(apiOperationResponse.getSchema()); if (response.getSchema() == null) { Map<String, Response> responses = operation.getResponses(); if (responses != null) { Response apiOperationResponse = responses.get(String.valueOf(apiResponse.code())); if (apiOperationResponse != null) { response.setSchema(apiOperationResponse.getSchema());
private static void mergeResponse(Operation operation, ResponseConfig responseConfig) { if (operation.getResponses() == null) { operation.response(responseConfig.getCode(), responseConfig.getResponse()); return; } Response response = operation.getResponses().get(String.valueOf(responseConfig.getCode())); if (response == null) { operation.response(responseConfig.getCode(), responseConfig.getResponse()); return; } Response sourceResp = responseConfig.getResponse(); if (StringUtils.isNotEmpty(sourceResp.getDescription()) && StringUtils.isEmpty(response.getDescription())) { response.setDescription(sourceResp.getDescription()); } if (sourceResp.getSchema() != null && response.getSchema() == null) { response.setSchema(sourceResp.getSchema()); } if (sourceResp.getExamples() != null && response.getExamples() == null) { response.setExamples(sourceResp.getExamples()); } if (sourceResp.getHeaders() != null && response.getHeaders() == null) { response.setHeaders(sourceResp.getHeaders()); } if (sourceResp.getVendorExtensions() != null && response.getVendorExtensions() == null) { response.setVendorExtensions(sourceResp.getVendorExtensions()); } }
protected void convertToInterface() { if (interfaceCls != null) { return; } ClassConfig classConfig = new ClassConfig(); classConfig.setClassName(interfaceName); classConfig.setIntf(true); if (swagger.getPaths() != null) { for (Path path : swagger.getPaths().values()) { for (Operation operation : path.getOperations()) { Response result = operation.getResponses().get(SwaggerConst.SUCCESS_KEY); JavaType resultJavaType = swaggerObjectMap.get(result.getSchema()); MethodConfig methodConfig = new MethodConfig(); methodConfig.setName(operation.getOperationId()); methodConfig.setResult(resultJavaType); for (Parameter parameter : operation.getParameters()) { String paramName = parameter.getName(); paramName = ClassUtils.correctMethodParameterName(paramName); JavaType paramJavaType = ConverterMgr.findJavaType(this, parameter); methodConfig.addParameter(paramName, paramJavaType); } classConfig.addMethod(methodConfig); } } } interfaceCls = JavassistUtils.createClass(classLoader, classConfig); }
private static Property getResponseProperty(Operation operation) { Map<String, Response> responses = operation.getResponses(); // temporary workaround for missing response messages if (responses == null) return null; Response response = responses.get("200"); return null == response ? null : response.getSchema(); }
static Optional<Response> findResponse(final Operation operation) { return operation.getResponses().values().stream().filter(r -> r.getSchema() != null).findFirst(); } }
public static DataShape createShapeFromResponse(final String specification, final Response response) { final Property schema = response.getSchema(); return createShapeFromProperty(specification, schema); }
private Property getArrayPropertyFromOperation(Operation operation) { if (operation != null && operation.getResponses() != null) { Response response = operation.getResponses().get("200"); if (response != null) { return response.getSchema(); } } return null; }
private Optional<Model> getModel(RestApi api, Response response) { String modelName; // if the response references a proper model, look for a model matching the model name if (response.getSchema() != null && response.getSchema().getType().equals("ref")) { modelName = ((RefProperty) response.getSchema()).getSimpleRef(); } else { // if the response has an embedded schema, look for a model matching the generated name modelName = generateModelName(response); } try { Model model = api.getModelByName(modelName); if (model.getName() != null) { return Optional.of(model); } } catch (Exception ignored) {} return Optional.empty(); }
private void validateResponse(Response actualResponse, Response expectedResponse, String responseName, String httpMethod, String path) { if (expectedResponse != null) { validateProperty(actualResponse.getSchema(), expectedResponse.getSchema(), String.format("Checking response schema of response '%s' of '%s' operation of path '%s'", responseName, httpMethod, path)); validateResponseHeaders(actualResponse.getHeaders(), expectedResponse.getHeaders(), responseName, httpMethod, path); } }
private void validateResponse(Response actualResponse, Response expectedResponse, String responseName, String httpMethod, String path) { if (expectedResponse != null) { validateProperty(actualResponse.getSchema(), expectedResponse.getSchema(), String.format("Checking response schema of response '%s' of '%s' operation of path '%s'", responseName, httpMethod, path)); validateResponseHeaders(actualResponse.getHeaders(), expectedResponse.getHeaders(), responseName, httpMethod, path); } }
public void init(SwaggerToClassGenerator swaggerToClassGenerator, Response response) { if (javaType == null) { javaType = swaggerToClassGenerator.convert(response.getSchema()); } if (response.getHeaders() == null) { return; } for (Entry<String, Property> entry : response.getHeaders().entrySet()) { JavaType headerJavaType = swaggerToClassGenerator.convert(entry.getValue()); headers.put(entry.getKey(), headerJavaType); } }
public void init(ClassLoader classLoader, String packageName, Swagger swagger, Response response) { if (javaType == null) { Property property = response.getSchema(); javaType = ConverterMgr.findJavaType(classLoader, packageName, swagger, property); } if (response.getHeaders() == null) { return; } for (Entry<String, Property> entry : response.getHeaders().entrySet()) { JavaType headerJavaType = ConverterMgr.findJavaType(classLoader, packageName, swagger, entry.getValue()); headers.put(entry.getKey(), headerJavaType); } }
@Override public DataShape createShapeFromResponse(final String specification, final Swagger swagger, final Operation operation) { final Optional<Response> maybeResponse = findResponse(operation); if (!maybeResponse.isPresent()) { return DATA_SHAPE_NONE; } final DataShape response = createShapeFromProperty(specification, maybeResponse.get().getSchema()); if (response.getKind() == DataShapeKinds.NONE) { return response; } return new DataShape.Builder().createFrom(response).name("Response").description("API response payload").build(); }