Spring Cloud REST Repositories
使用Spring Boot运行时,只需将此依赖项添加到pom文件即可将存储库公开为REST服务:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency>
如果您希望配置参数(例如path),则可以使用@RepositoryRestResource批注:
@RepositoryRestResource(collectionResourceRel = "trades", path = "trades") public interface TradeRepository extends SpannerRepository<Trade, String[]> { }
例如,您可以使用curl http://<server>:<port>/trades检索存储库中的所有Trade对象,也可以通过curl http://<server>:<port>/trades/<trader_id>,<trade_id>检索任何特定交易。
在这种情况下,主键组件id和trader_id之间的分隔符在默认情况下是逗号,但是可以通过扩展SpannerKeyIdConverter类将其配置为在键值中找不到的任何字符串:
@Component class MySpecialIdConverter extends SpannerKeyIdConverter { @Override protected String getUrlIdSeparator() { return ":"; } }
您也可以使用curl -XPOST -H"Content-Type: application/json" -d@test.json http://<server>:<port>/trades/进行交易,其中文件test.json包含Trade对象的JSON表示形式。