@Bean public SwaggerSpringMvcPlugin swaggerSpringMvcPlugin() { final SwaggerSpringMvcPlugin swaggerSpringMvcPlugin = new SwaggerSpringMvcPlugin(springSwaggerConfig); swaggerSpringMvcPlugin.apiInfo(new ApiInfo(apiTitle, readApiDescription(), apiTermsOfServiceUrl, apiContact, apiLicense, apiLicenseUrl)); swaggerSpringMvcPlugin.apiVersion(apiVersion); swaggerSpringMvcPlugin.pathProvider(new RelativeSwaggerPathProvider(servletContext)); swaggerSpringMvcPlugin.useDefaultResponseMessages(false); swaggerSpringMvcPlugin.ignoredParameterTypes(Principal.class, Void.class); final TypeResolver resolver = new TypeResolver(); swaggerSpringMvcPlugin.genericModelSubstitutes(ResponseEntity.class); swaggerSpringMvcPlugin.genericModelSubstitutes(DeferredResult.class); swaggerSpringMvcPlugin.alternateTypeRules(new AlternateTypeRule(resolver.resolve(UUID.class), resolver.resolve(String.class))); swaggerSpringMvcPlugin.directModelSubstitute(Branch.class, BranchMixin.class); return swaggerSpringMvcPlugin; }