Spring Data REST

一 点睛

1 什么是Spring Data REST

Spring Data JPA是基于Spring Data的Repository之上,可以将Repository自动输出为REST资源。目前Spring Data REST支持将Spring Data JPA、Spring Data MongoDB、Spring Data Neo4j、Spring Data Gemfire以及Spring Data Cassandra的Repository自动转换为REST服务。

2 Spring MVC中配置使用Spring Data REST

Spring Data REST的配置是定义在RepositoryRestMvcConfiguration配置类中,我们可以通过继承此类或者直接在自己的配置类上@Import此配置类

二 Spring Boot对Spring Data REST的支持

Spring Boot对Spring Data REST的自动配置放置在Rest中

1 SpringBootRepositoryRestMvcConfiguration源码分析

@Configuration
class SpringBootRepositoryRestMvcConfiguration extends RepositoryRestMvcConfiguration {

    @Autowired
    private RepositoryRestProperties properties;

    //自动配置了RepositoryRestConfiguration
    @Bean
    @Override
    public RepositoryRestConfiguration config() {
        RepositoryRestConfiguration config = super.config();
        this.properties.applyTo(config);
        return config;
    }

}

2 在Spring Boot中使用Spring Data REST只需要引入spring-boot-starter-data-rest的依赖,无须任何配置即可实现

3 Spring Boot在application.properties中配置以“spring.data.rest”为前缀的属性来配置RepositoryRestConfiguration,参考下面代码

@ConfigurationProperties("spring.data.rest")
public class RepositoryRestProperties {

    /**
     * Base path to be used by Spring Data REST to expose repository resources.
     */
    private String basePath;

    /**
     * Default size of pages.
     */
    private Integer defaultPageSize;

    /**
     * Maximum size of pages.
     */
    private Integer maxPageSize;

    /**
     * Name of the URL query string parameter that indicates what page to return.
     */
    private String pageParamName;

    /**
     * Name of the URL query string parameter that indicates how many results to return at
     * once.
     */
    private String limitParamName;

    /**
     * Name of the URL query string parameter that indicates what direction to sort
     * results.
     */
    private String sortParamName;

    /**
     * Content type to use as a default when none is specified.
     */
    private MediaType defaultMediaType;

    /**
     * Return a response body after creating an entity.
     */
    private Boolean returnBodyOnCreate;

    /**
     * Return a response body after updating an entity.
     */
    private Boolean returnBodyOnUpdate;

    /**
     * Enable enum value translation via the Spring Data REST default resource bundle.
     * Will use the fully qualified enum name as key.
     */
    private Boolean enableEnumTranslation;
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值