@Override
    protected String buildApiSuperPath(final Class<?> clazz, @Nullable final ShenyuSpringMvcClient beanShenyuClient) {
        final String servletPath = StringUtils.defaultString(this.env.getProperty("spring.mvc.servlet.path"), "");
        final String servletContextPath = StringUtils.defaultString(this.env.getProperty("server.servlet.context-path"), "");
        final String rootPath = String.format("/%s/%s/", servletContextPath, servletPath);
        if (Objects.nonNull(beanShenyuClient) && StringUtils.isNotBlank(beanShenyuClient.path()[0])) {
            return formatPath(String.format("%s/%s", rootPath, beanShenyuClient.path()[0]));
        }
        RequestMapping requestMapping = AnnotationUtils.findAnnotation(clazz, RequestMapping.class);
        // Only the first path is supported temporarily
        if (Objects.nonNull(requestMapping) && ArrayUtils.isNotEmpty(requestMapping.path()) && StringUtils.isNotBlank(requestMapping.path()[0])) {
            return formatPath(String.format("%s/%s", rootPath, requestMapping.path()[0]));
        }
        return formatPath(rootPath);
    }
Instantiates a new context refreshed event listener.

@param clientConfig                   the shenyu client config
@param shenyuClientRegisterRepository the shenyuClientRegisterRepository
@param env                            the env
shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java