java - 如何设置 spring-data-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 = MediaTypes.HAL_JSON;
}

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

最佳答案

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

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);
      }
    };
  }
}

关于java - 如何设置 spring-data-rest 的默认媒体类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35205524/

相关文章:

spring - Spring boot loader 的组和 Artifact ID 是什么?

Spring Boot @WebIntegrationTest 和 TestRestTemplate - 是否可以回滚测试事务?

java - 使用子字段版本使用 Spring Data 进行乐观锁定

java - 在 Java EE 6 Web 应用程序中登录用户的不同方式

java - 存储只读数据以供 java 程序读取的最有效方法是什么?

java - 如何从 .java 文件制作 JAR?

java - 是否有可能在 Intellij 的单独选项卡/部分中打开一段代码?

java - Spring Data JPA 保存方法在 Java 8 功能图中的有效性

java - 如何克服 freemarker 树集按字母顺序排序 int 键?

java - Spring 数据 REST findBy 嵌套实体