招摇的标签对象中的动态值

dynamic values in tags object of swagger

我想在 swagger 的标签部分中提供来自属性文件的值,例如:tags = "${metric.tags}" 但无法从属性文件中获取。对于值,它工作正常 value = "${metric.value}".

I have made plugin configuration in swagger configuration file and it started working as per my requirement.

@Bean
    public TranslationOperationBuilderPlugin translationPlugin() {
        return new TranslationOperationBuilderPlugin();
    }

    @Order(Ordered.LOWEST_PRECEDENCE)
    public static class TranslationOperationBuilderPlugin implements OperationBuilderPlugin {


        @Autowired
        Environment environment;

        @Override
        public boolean supports(DocumentationType delimiter) {
            return true;
        }

        @Override
        public void apply(OperationContext context) {

            String summary = context.operationBuilder().build().getSummary();
            String notes = context.operationBuilder().build().getNotes();
            Set<String>tags = context.operationBuilder().build().getTags();
            Set<String>translatedTags= new HashSet<>();
            for(String tag:tags) {
                if(environment.getProperty(tag)!=null) {
                    translatedTags.add(environment.getProperty(tag));
                }else {
                    translatedTags.add(tag);
                }
            }

            ModelReference modelReference= context.operationBuilder().build().getResponseModel();
            AllowableListValues allowableValues=(AllowableListValues) modelReference.getAllowableValues();
            if(allowableValues!=null && allowableValues.getValues()!=null) {
                List<String> translatedAllowables=new ArrayList<>();
                for(String value:allowableValues.getValues()) {
                    if(environment.getProperty(value)!=null) {
                        translatedAllowables.add(environment.getProperty(value));
                    }else {
                        translatedAllowables.add(value);
                    }
                }
                allowableValues.getValues().removeAll(allowableValues.getValues());
                allowableValues.getValues().addAll(translatedAllowables);
            }

            //String summaryTranslated = apiDescriptionPropertiesReader.getProperty(summary);
            //String notesTranslated = apiDescriptionPropertiesReader.getProperty(notes);
            //context.operationBuilder().summary(summaryTranslated);
            //context.operationBuilder().notes(notesTranslated);
            context.operationBuilder().tags(translatedTags);

        }