[英]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.