@Override public void process(Object annotation, OperationGenerator operationGenerator, int paramIdx) { BodyParameter bodyParameter = ParamUtils.createBodyParameter(operationGenerator, paramIdx); bodyParameter.setVendorExtension("x-raw-json", true); bodyParameter.setRequired(true); operationGenerator.addProviderParameter(bodyParameter); } }
@Override public void process(Object annotation, OperationGenerator operationGenerator, int paramIdx) { BodyParameter bodyParameter = ParamUtils.createBodyParameter(operationGenerator, paramIdx); bodyParameter.setRequired(((RequestBody) annotation).required()); operationGenerator.addProviderParameter(bodyParameter); } }
protected static void processApiParam(ApiParam param, BodyParameter p) { if (param.required()) { p.setRequired(true); } if (StringUtils.isNotEmpty(param.name())) { p.setName(param.name()); } if (StringUtils.isNotEmpty(param.value())) { p.setDescription(param.value()); } if (StringUtils.isNotEmpty(param.access())) { p.setAccess(param.access()); } Example example = param.examples(); if (example != null && example.value() != null) { for (ExampleProperty ex : example.value()) { String mediaType = ex.mediaType(); String value = ex.value(); if (!mediaType.isEmpty() && !value.isEmpty()) { p.example(mediaType.trim(), value.trim()); } } } }
@Override public void process(Object annotation, OperationGenerator operationGenerator, int paramIdx) { BodyParameter bodyParameter = ParamUtils.createBodyParameter(operationGenerator, paramIdx); bodyParameter.setRequired(((RequestBody) annotation).required()); operationGenerator.addProviderParameter(bodyParameter); } }
@Override public void process(Object annotation, OperationGenerator operationGenerator, int paramIdx) { BodyParameter bodyParameter = ParamUtils.createBodyParameter(operationGenerator, paramIdx); bodyParameter.setVendorExtension("x-raw-json", true); bodyParameter.setRequired(true); operationGenerator.addProviderParameter(bodyParameter); } }
protected Parameter generateQueryPostOpParam(List<RestQueriesConfiguration.QueryParamInfo> params) { Map<String, Property> modelProps = params.stream() .collect(Collectors.toMap( RestQueriesConfiguration.QueryParamInfo::getName, p -> getPropertyFromJavaType(p.getType()))); ModelImpl parameterModel = new ModelImpl(); parameterModel.setProperties(modelProps); BodyParameter parameter = new BodyParameter() .name("paramsObject"); parameter.setRequired(true); return parameter.schema(parameterModel); }
protected Parameter generateServicePostOpParam(List<RestMethodParamInfo> params) { Map<String, Property> modelProps = params.stream() .collect(Collectors.toMap( RestMethodParamInfo::getName, p -> getPropertyFromJavaType(p.getType()))); ModelImpl parameterModel = new ModelImpl(); parameterModel.setProperties(modelProps); BodyParameter parameter = new BodyParameter() .name("paramsObject") .schema(parameterModel); parameter.setRequired(true); return parameter; }
private BodyParameter getDefaultBodyParameter() { BodyParameter bodyParameter = new BodyParameter(); bodyParameter.setName("Payload"); bodyParameter.setDescription("Request Body"); bodyParameter.setRequired(false); Model model = new ModelImpl(); Map<String, Property> properties = new HashMap<>(); Property property = new StringProperty(); properties.put("payload", property); model.setProperties(properties); bodyParameter.setSchema(model); return bodyParameter; }
private BodyParameter paramBody(ServiceDocument desc) { BodyParameter res = new BodyParameter(); res.setName(PARAM_NAME_BODY); res.setRequired(false); res.setSchema(refModel(desc)); return res; }
private BodyParameter getDefaultBodyParameter() { BodyParameter bodyParameter = new BodyParameter(); bodyParameter.setName("Payload"); bodyParameter.setDescription("Request Body"); bodyParameter.setRequired(false); Model model = new ModelImpl(); Map<String, Property> properties = new HashMap<>(); Property property = new StringProperty(); properties.put("payload", property); model.setProperties(properties); bodyParameter.setSchema(model); return bodyParameter; }
private BodyParameter paramBody(Class<?> type) { BodyParameter res = new BodyParameter(); res.setName(PARAM_NAME_BODY); res.setRequired(false); ModelImpl model = modelForPodo(type); res.setSchema(new RefModel(model.getName())); return res; }
bp.setRequired(isParameterRequired(annotations)); bp.schema(model); Parameter parameter = ParameterProcessor.applyAnnotations(new Swagger(), bp, type, annotations);
protected static void processApiParam(ApiParam param, BodyParameter p) { if (param.required()) { p.setRequired(true); } if (StringUtils.isNotEmpty(param.name())) { p.setName(param.name()); } if (StringUtils.isNotEmpty(param.value())) { p.setDescription(param.value()); } if (StringUtils.isNotEmpty(param.access())) { p.setAccess(param.access()); } Example example = param.examples(); if (example != null && example.value() != null) { for (ExampleProperty ex : example.value()) { String mediaType = ex.mediaType(); String value = ex.value(); if (!mediaType.isEmpty() && !value.isEmpty()) { p.example(mediaType.trim(), value.trim()); } } } }
param.setRequired(true); param.setName(methodName); param.setSchema(model);
/** * Build a {@link BodyParameter} Swagger object defined by {@link ApiImplicitParam} * to use for documentation. * * @param apiParam The annotation which documents the parameter. * @return The {@link BodyParameter} object to be used in {@link Swagger} */ public static BodyParameter bodyParameter(ApiImplicitParam apiParam) { BodyParameter bodyParameter = new BodyParameter() .name(apiParam.name()) .description(apiParam.value()) .schema(new RefModel().asDefault(apiParam.dataTypeClass().getSimpleName())); bodyParameter.setRequired(apiParam.required()); return bodyParameter; }
private Parameter buildPOSTBodyParameter(String resourceName, String resourceParentName, OperationEnum operationEnum) { BodyParameter bodyParameter = new BodyParameter(); bodyParameter.setRequired(true); switch (operationEnum) { case postCreate: case postSubresource: bodyParameter.setName("resource"); bodyParameter.setDescription("Resource to create"); break; case postUpdate: case postUpdateSubresouce: bodyParameter.setName("resource"); bodyParameter.setDescription("Resource properties to update"); } bodyParameter.schema(new RefModel(getSchemaRef(resourceName, resourceParentName, operationEnum))); return bodyParameter; }
parameter.setName(apiParam.name()); parameter.setRequired(apiParam.required()); parameter.setDescription(apiParam.value());
protected Operation generateEntityCreateOperation(ModelImpl entityModel) { Operation operation = new Operation() .tag(entityModel.getName()) .produces(APPLICATION_JSON_VALUE) .summary("Creates new entity: " + entityModel.getName()) .description("The method expects a JSON with entity object in the request body. " + "The entity object may contain references to other entities.") .response(201, new Response() .description("Entity created. The created entity is returned in the response body.") .schema(new RefProperty(ENTITY_DEFINITION_PREFIX + entityModel.getName()))) .response(400, getErrorResponse("Bad request. For example, the entity may have a reference to the non-existing entity.")) .response(403, getErrorResponse("Forbidden. The user doesn't have permissions to create the entity.")) .response(404, getErrorResponse("Not found. MetaClass for the entity with the given name not found.")); BodyParameter entityParam = new BodyParameter() .name("entityJson") .description("JSON object with the entity") .schema(new RefModel(ENTITY_DEFINITION_PREFIX + entityModel.getName())); entityParam.setRequired(true); operation.parameter(entityParam); return operation; }
protected Operation generateEntitySearchOperation(ModelImpl entityModel, RequestMethod method) { Operation operation = new Operation() .tag(entityModel.getName()) .produces(APPLICATION_JSON_VALUE) .summary("Find entities by filter conditions: " + entityModel.getName()) .description("Finds entities by filter conditions. The filter is defined by JSON object " + "that is passed as in URL parameter.") .response(200, new Response() .description("Success. Entities that conforms filter conditions are returned in the response body.") .schema(new ArrayProperty(new RefProperty(ENTITY_DEFINITION_PREFIX + entityModel.getName())))) .response(400, getErrorResponse("Bad request. For example, the condition value cannot be parsed.")) .response(403, getErrorResponse("Forbidden. The user doesn't have permissions to read the entity.")) .response(404, getErrorResponse("Not found. MetaClass for the entity with the given name not found.")); if (RequestMethod.GET == method) { QueryParameter parameter = new QueryParameter() .name("filter") .required(true) .property(new StringProperty().description("JSON with filter definition")); operation.parameter(parameter); } else { BodyParameter parameter = new BodyParameter() .name("filter") .schema(new ModelImpl() .property("JSON with filter definition", new StringProperty())); parameter.setRequired(true); operation.parameter(parameter); } operation.getParameters().addAll(generateEntityOptionalParams(false)); return operation; }
protected Operation generateEntityUpdateOperation(ModelImpl entityModel) { BodyParameter entityParam = new BodyParameter() .name("entityJson") .description("JSON object with the entity") .schema(new RefModel(ENTITY_DEFINITION_PREFIX + entityModel.getName())); entityParam.setRequired(true); PathParameter entityIdParam = new PathParameter() .name("entityId") .description("Entity identifier") .required(true) .property(new StringProperty().description("Entity identifier")); return new Operation() .tag(entityModel.getName()) .produces(APPLICATION_JSON_VALUE) .summary("Updates the entity: " + entityModel.getName()) .description("Updates the entity. Only fields that are passed in the JSON object " + "(the request body) are updated.") .parameter(entityIdParam) .parameter(entityParam) .response(200, new Response() .description("Success. The updated entity is returned in the response body.") .schema(new RefProperty(ENTITY_DEFINITION_PREFIX + entityModel.getName()))) .response(403, getErrorResponse("Forbidden. The user doesn't have permissions to update the entity.")) .response(404, getErrorResponse("Not found. MetaClass for the entity with the given name not found.")); }