【发布时间】:2021-11-13 10:48:00
【问题描述】:
我正在使用 java spring。所以在数据库内部,我有一个包含页面 ID 列和内容列的内容表。在这个内容列中,有许多跟踪器 Id,保存为 ContentJSON。我正在尝试使用此 url 执行 GET API:localhost:8080/eHealth/api/user/mytracker/pageId?trackerId=2。但是,它显示了该特定 pageIds 下的 trackerIds 列表。
我的代码如下: //获取每个tracker数据
@SuppressWarnings("rawtypes")
@GetMapping(value = "/mytracker/{pageId}/{trackerId}")
public ResponseEntity<?> getTrackerContent(HttpServletRequest request,
@PathVariable String pageId, @PathVariable String trackerId) throws JsonParseException, JsonMappingException, IOException {
ValidationResult validationResult = this.tokenValidator.validateUserIdentityFromRequest(request);
if(validationResult != ValidationResult.VALID_USER) {
return this.tokenValidator.httpResponseEntityWithTemplateMessages(validationResult);
}
User currentUser = this.tokenValidator.getUserFromToken(this.tokenValidator.resolveToken(request));
UserContent trackerContent = this.portalService.getUserContent(currentUser, pageId, "tracker");
HashMap unpackedTrackerContent = this.unpackTrackerData(trackerContent);
HashMap<String, Object> trackers = new HashMap<String, Object>();
trackers.put(pageId,unpackedTrackerContent);
return ResponseEntity.ok(trackers);
}
任何帮助将不胜感激。谢谢
数据库里面的内容栏如下:
{"content":null,"UserContentJSON":"{\"trackerData\":[{\"trackerId\":\"1\",\"trackerDateTime\":\"05-07-2020T03:47:00.00Z\",\"trackerIntensity\":\"2\",\"trackerDuration\":\"1\"},{\"trackerId\":\"2\",\"trackerDateTime\":\"05-07-2020T03:47:00.00Z\",\"trackerIntensity\":\"2\",\"trackerDuration\":\"1\"},{\"trackerId\":\"3\",\"trackerDateTime\":\"05-07-2020T03:47:00.00Z\",\"trackerIntensity\":\"2\",\"trackerDuration\":\"1\"}]}","isNew":false,"ref":"tracker","programID":"HOPE_CVD_Copy","pageID":"physicalactivity","userID":"cvdtest"}
【问题讨论】:
标签: java spring spring-mvc spring-data-jpa