public void init(ClassLoader classLoader, String packageName, Swagger swagger, Operation operation, Type returnType) { initSuccessResponse(returnType); for (Entry<String, Response> entry : operation.getResponses().entrySet()) { if ("default".equals(entry.getKey())) { defaultResponse = new ResponseMeta(); defaultResponse.init(classLoader, packageName, swagger, entry.getValue()); continue; } Integer statusCode = Integer.parseInt(entry.getKey()); ResponseMeta responseMeta = responseMap.get(statusCode); if (responseMeta == null) { responseMeta = new ResponseMeta(); responseMap.put(statusCode, responseMeta); } responseMeta.init(classLoader, packageName, swagger, entry.getValue()); } if (defaultResponse == null) { // swagger中没有定义default,加上default专用于处理exception ResponseMeta responseMeta = new ResponseMeta(); responseMeta.setJavaType(COMMON_EXCEPTION_JAVATYPE); defaultResponse = responseMeta; } }
protected void initSuccessResponse(Type returnType) { ResponseMeta successResponse = new ResponseMeta(); successResponse.setJavaType(TypeFactory.defaultInstance().constructType(returnType)); responseMap.put(Status.OK.getStatusCode(), successResponse); }
public WrapSchema findResponseSchema(int statusCode) { if (Family.SUCCESSFUL.equals(Family.familyOf(statusCode))) { return responseSchema; } ResponseMeta responseMeta = operationMeta.findResponseMeta(statusCode); return ProtobufSchemaUtils.getOrCreateSchema(responseMeta.getJavaType()); } }
for (String headerName : responseMeta.getHeaders().keySet()) { for (String value : httpResponse.headers().getAll(headerName)) { response.getHeaders().addHeader(headerName, value);
result = produceProcessor.decodeResponse(responseEx.getBodyBuffer(), responseMeta.getJavaType()); } catch (Exception e) { return Response.consumerFailResp(e);