【发布时间】:2021-10-29 17:34:26
【问题描述】:
我正在使用带有 ReactJs 的 Spring Boot 1.5.18,并且我正在尝试使用 eTag 有条件地更新实体。
我添加了以下配置,并且 Spring Boot 正在响应标头中生成 etag。
@Bean
public Filter shallowEtagHeaderFilter() {
return new ShallowEtagHeaderFilter();
}
现在我想在更新实体之前检查我的控制器方法是否匹配。我的控制器方法如下:
@RequestMapping(method = POST, value = "/assignments/{id}/edit")
public @ResponseBody
ResponseEntity<?> editStaffAssignment(@RequestBody Resource<AssignmentDTO> dtoResource,
@PathVariable Long id,
PersistentEntityResourceAssembler resourceAssembler, Pageable pageable) {
Assignment assignment = assignHandler.updateAssignment(dtoResource.getContent(), id);
return new ResponseEntity<>(resourceAssembler.toResource(assignment), HttpStatus.OK);
}
我已经在来自 reactjs 客户端的 Axios 请求中包含了 etag 标头,我可以在控制器方法中提取它,但是如何以编程方式在服务器端生成当前的 etag 值?
【问题讨论】:
标签: spring-boot etag