冲突可能由在Apollo客户端和DGS服务器之间定义相同的Graphql schema导致。解决方法是在DGS服务端上定义不同的schema路径。例如,在DGS服务器端,我们可以将其设置为:
@Component
public class DgsAppConfig {
    @Bean
    public DgsWebMvcConfigurer dgsWebMvcConfigurer() {
        return new DgsWebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                    // Allow all origins
                    .allowedOrigins("*")
                    // Allow all methods
                    .allowedMethods("*");
            }
            
            @Override
            public void addInterceptors(InterceptorRegistry registry) {
                registry.addInterceptor(new DgsCustomContextBuilder())
                        .addPathPatterns("/schema1/*");
                registry.addInterceptor(new DgsCustomContextBuilder())
                        .addPathPatterns("/schema2/*");
            }
        };
    }
}
在这个例子中,我们在DGS服务器的每个schema路径上添加了一个拦截器,来提供不同的GraphQL context。例如,/schema1路径将生成与/schema2不同的GraphQL context。这个问题现在应该已经解决了。