swagger-api / swagger-inflector

Apache License 2.0
160 stars 85 forks source link

Please enhance ExampleBuilder class #470

Open clemi2408 opened 7 months ago

clemi2408 commented 7 months ago

--> https://github.com/swagger-api/swagger-inflector/blob/master/src/main/java/io/swagger/oas/inflector/examples/ExampleBuilder.java

and add something like this to create proper regex

else if (property instanceof StringSchema stringSchema) {

            if (example != null) {
                output = new StringExample(example.toString());
            } else {
                String defaultValue = stringSchema.getDefault();

                if( defaultValue == null && stringSchema.getPattern() ==null){
                    List<String> enums = stringSchema.getEnum();
                    if( enums != null && !enums.isEmpty()) {
                        defaultValue = enums.get(0);
                    }
                }

                if(Objects.nonNull(stringSchema.getPattern())){

                    output = new StringExample(RgxGen.parse(stringSchema.getPattern()).generate());

                }
                else{
                    output = new StringExample( defaultValue == null ? SAMPLE_STRING_PROPERTY_VALUE : defaultValue );

                }

            }
        }