@Override public Supplier<Pair<Integer, JsonNode>> handlePost(StateContext state) { RequestScope requestScope = state.getRequestScope(); JsonApiMapper mapper = requestScope.getMapper(); newObject = createObject(requestScope); parent.ifPresent(persistentResource -> persistentResource.addRelation(relationName.get(), newObject)); return () -> { JsonApiDocument returnDoc = new JsonApiDocument(); returnDoc.setData(new Data(newObject.toResource())); JsonNode responseBody = mapper.getObjectMapper().convertValue(returnDoc, JsonNode.class); return Pair.of(HttpStatus.SC_CREATED, responseBody); }; }
@Override public Supplier<Pair<Integer, JsonNode>> handlePost(StateContext state) { RequestScope requestScope = state.getRequestScope(); JsonApiMapper mapper = requestScope.getMapper(); newObject = createObject(requestScope); parent.ifPresent(persistentResource -> persistentResource.addRelation(relationName.get(), newObject)); return () -> { JsonApiDocument returnDoc = new JsonApiDocument(); returnDoc.setData(new Data(newObject.toResource())); JsonNode responseBody = mapper.getObjectMapper().convertValue(returnDoc, JsonNode.class); return Pair.of(HttpStatus.SC_CREATED, responseBody); }; }
jsonApiDocument.setData(getData(collection));
jsonApiDocument.setData(getData(collection));
protected static JsonNode getResponseBody(PersistentResource resource, RequestScope requestScope) { Optional<MultivaluedMap<String, String>> queryParams = requestScope.getQueryParams(); JsonApiDocument jsonApiDocument = new JsonApiDocument(); //TODO Make this a document processor Data<Resource> data = resource == null ? null : new Data<>(resource.toResource()); jsonApiDocument.setData(data); //TODO Iterate over set of document processors DocumentProcessor includedProcessor = new IncludedProcessor(); includedProcessor.execute(jsonApiDocument, resource, queryParams); return requestScope.getMapper().toJsonObject(jsonApiDocument); } }
protected static JsonNode getResponseBody(PersistentResource resource, RequestScope requestScope) { Optional<MultivaluedMap<String, String>> queryParams = requestScope.getQueryParams(); JsonApiDocument jsonApiDocument = new JsonApiDocument(); //TODO Make this a document processor Data<Resource> data = resource == null ? null : new Data<>(resource.toResource()); jsonApiDocument.setData(data); //TODO Iterate over set of document processors DocumentProcessor includedProcessor = new IncludedProcessor(); includedProcessor.execute(jsonApiDocument, resource, queryParams); return requestScope.getMapper().toJsonObject(jsonApiDocument); } }