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
在类级别上会使整个类被弃用,我明白了。请避免只写代码答案。