java - Spring中无法导入 `configureRepositoryRestConfiguration`

标签 java spring rest spring-mvc overriding

我已经根据 documentationRepositoryRestMvcConfiguration 扩展了我的类它有可以实现的 configureRepositoryRestConfiguration 方法,但是当我尝试覆盖此方法时,我无法导入它:| 谁能告诉我为什么会出现这个问题?

编辑:根据当前版本configureRepositoryRestConfiguration方法不可用..那么我应该使用什么方法来代替这个?

这是我的代码

MSARepositoryRestMvcConfiguration.java

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration;
import org.springframework.security.data.repository.query.SecurityEvaluationContextExtension;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

@Configuration
public class MSARepositoryRestMvcConfiguration extends RepositoryRestMvcConfiguration {
    private static final Logger LOG = LoggerFactory.getLogger(MSARepositoryRestMvcConfiguration.class);

    @Value("${static.path}")
    private String staticPath;

//    @Bean
//    public PasswordEncoder passwordEncoder() {
//        return new BCryptPasswordEncoder();
//    }
  @Override
    protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        config.setBasePath("/api");
       // config.exposeIdsFor(User.class,Order.class,HeroRating.class,RiderLocation.class,OrderItem.class,Address.class,ShopDetail.class,PromoCode.class,RiderDuty.class,Criteria.class,Setting.class);
        config.setReturnBodyForPutAndPost(true);
        config.setReturnBodyOnCreate(true);
        config.setReturnBodyOnUpdate(true);
    }

    @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    super.addResourceHandlers(registry);
     if(staticPath != null) {
          LOG.info("Serving static content from " + staticPath);
          registry.addResourceHandler("/photos/**").addResourceLocations("file:" + staticPath+"photos/");
           registry.addResourceHandler("/").addResourceLocations("classpath:/static/");
    }
    }

    @Bean
    public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
        return new SecurityEvaluationContextExtension();
    }
}

错误 它在 configureRepositoryRestConfiguration 上给出错误以删除覆盖注释

错误消息

The method configureRepositoryRestConfiguration(RepositoryRestConfiguration) of type MSARepositoryRestMvcConfiguration must override or implement a supertype method

最佳答案

检查 Interface RepositoryRestConfigurer 处的当前 configureRepositoryRestConfiguration 定义.

示例表单https://www.baeldung.com/spring-data-rest-serialize-entity-id :

@Configuration
public class RestConfiguration implements RepositoryRestConfigurer {
    @Override
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config, CorsRegistry cors) {
        config.exposeIdsFor(Person.class);
    }
}

关于java - Spring中无法导入 `configureRepositoryRestConfiguration`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48222634/

相关文章:

java - ModelAndView中重新发送请求参数

在 RESTful 服务中表示 "fire and forget"操作的 HTTP 方法

json - REST JSON 响应中的本地化数据

java - 如何从 Vaadin 中的任何地方获取应用程序实例?

java - 如何使用 jaxb2-maven-plugin 预定义 XSD 文件名

java - Java中具有连续整数键的高效元素映射

spring - Grails:验证域对象时出现 'methodInvocation'错误代码

java - Java Spring中的重载 Controller 方法

java - restful 服务 URL 中的分号截断其后的字符

java - Android Studio 项目中的 NoSuchFieldError