java – 用于版本化实体的ETag支持
发布时间:2020-05-24 23:55:43 所属栏目:Java 来源:互联网
导读:我打算为我的RESTfull Spring应用程序支持ETag.我公开的大多数资源都是在DB中进行版本控制的. 我知道ShallowEtagHeaderFilter,这不是我需要的,因为它只能节省带宽. 是否有一个适用于Spring MVC的生产就绪解决方案,它将ETag标头与暴露的实体版本相关联? sprin
|
我打算为我的RESTfull Spring应用程序支持ETag.我公开的大多数资源都是在DB中进行版本控制的. 我知道ShallowEtagHeaderFilter,这不是我需要的,因为它只能节省带宽. 是否有一个适用于Spring MVC的生产就绪解决方案,它将ETag标头与暴露的实体版本相关联? 解决方法spring-data-rest支持这种开箱即用的功能,参见 the conditional request part of the reference documentation.您还可以使用Spring Framework 4.2.0,它支持Controller方法返回的ResponseEntity类型的条件请求 – see reference documentation. 就像是: @RequestMapping("/book/{id}")
public ResponseEntity<Book> showBook(@PathVariable Long id) {
Book book = findBook(id);
String version = book.getVersion();
return ResponseEntity
.ok()
.cacheControl(CacheControl.maxAge(30,TimeUnit.DAYS))
.eTag(version) // lastModified is also available
.body(book);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
