繁体   English   中英

如何为 spring-data-rest 设置默认媒体类型?

[英]How to set the default media type for spring-data-rest?

RepositoryRestConfiguration我可以看到,设置spring.data.rest.default-media-type=application/json可以改变默认介质类型由服务@RepositoryRestResource

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

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

您可以通过RepositoryRestConfiguration或简单地使用 application.properties 中的属性来执行此操作。 请参阅此处的文档。

不推荐使用RepositoryRestConfiguration类。 其中有些方法已被弃用。 类上的@SuppressWarnings("deprecation")注释并不意味着类本身已被弃用。 这只是用于告诉 IDE 在 IDE 中不显示弃用警告的注释。

最简单的方法是在 application.properties 中。 但是,您的属性名称错误。 您不会将其设置为spring.data.rest.default-media-type 它期望的实际属性是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);
      }
    };
  }
}
@Component public class CustomRestConfig implements RepositoryRestConfigurer { @Override public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { config.setDefaultMediaType(MediaType.APPLICATION_JSON); } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM