Java 如何设置spring data rest的默认媒体类型?

Java 如何设置spring data rest的默认媒体类型?,java,spring,spring-data-rest,spring-rest,Java,Spring,Spring Data Rest,Spring Rest,从RepositoryRestConfiguration中,我可以看到设置spring.data.rest.default media type=application/json可以更改@RepositoryRestResource提供的默认媒体类型 @SuppressWarnings("deprecation") public class RepositoryRestConfiguration { private MediaType defaultMediaType = MediaTy

RepositoryRestConfiguration
中,我可以看到设置
spring.data.rest.default media type=application/json
可以更改
@RepositoryRestResource
提供的默认媒体类型

@SuppressWarnings("deprecation")
public class RepositoryRestConfiguration {
    private MediaType defaultMediaType = MediaTypes.HAL_JSON;
}

问题:由于此类处于弃用状态,设置/覆盖默认类型的正确方法是什么?

您可以通过
RepositoryRestConfiguration
或仅通过应用程序中的属性来实现。请参阅文档

RepositoryRestConfiguration
类未被弃用。其中有些方法已被弃用。类上的
@SuppressWarnings(“弃用”)
注释并不意味着该类本身已弃用。这只是一个注释,用于告诉IDE不要在IDE中显示弃用警告

最简单的方法是使用application.properties。但是,属性名称有误。您不会将其设置为
spring.data.rest.default媒体类型
。它期望的实际属性是
spring.data.rest.defaultMediaType
。因此,在application.properties中,您可以:

spring.data.rest.defaultMediaType=application/json
使用
RepositoryRestConfiguration
,您可以完成以下相同的操作:

@Configuration
class CustomRestMvcConfiguration {

  @Bean
  public RepositoryRestConfigurer repositoryRestConfigurer() {

    return new RepositoryRestConfigurerAdapter() {

      @Override
      public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        config.setDefaultMediaType(MediaType.APPLICATION_JSON);
      }
    };
  }
}
@组件
公共类CustomRestConfig实现RepositoryRestConfigurer{
@凌驾
公共空间
configureRepositoryRestConfiguration(RepositoryRestConfiguration配置){
config.setDefaultMediaType(MediaType.APPLICATION_JSON);
}
}

我看不到完整类的弃用注释,仅针对某些方法:事实上,即使主分支也有弃用注释:
@SuppressWarnings(“弃用”)
并不意味着该类已弃用。类中有一些方法用
@Deprecated
注释。这些是不推荐使用的方法。这个类本身并没有被弃用。啊,好吧,我的错。你说得对,
@Deprecated
在类级别上会使整个类被弃用,我明白了。请避免只写代码答案。