Как создать Hateoas ссылку на подресурс - PullRequest
0 голосов
/ 10 марта 2020

Мне нужно добавить дочерний ресурс (subResource) в возвращаемую коллекцию ссылок HATEOAS, чтобы предоставить ссылку на дочерний ресурс и ссылку на родительский ресурс. У меня есть ссылка на родительский ресурс, но я не уверен, как go добавить добавленную ссылку на дочерний ресурс, чтобы она соответствовала путям в @PutMapping.

    @PutMapping(value = "/{resourceId}/items/{subResourceId}")
    @ResponseStatus(HttpStatus.OK)
    public SubResource update(@ApiIgnore @RequestHeader Map<String, String> header, @PathVariable String resourceId, @PathVariable String relativeId,
                                @Valid @RequestBody SubResource subResource) {
        ParentResource parentResource = getParentResource(resourceId);
        UUID resourceIdUUID = Utils.getUUIDFromString(resourceId, Constants.RESOURCE_ID);
        UUID relativeIdUUID = Utils.getUUIDFromString(subResourceId, Constants.RELATIVE_ID);
        if (subResource != null) {
            subResource.setRelativeId(relativeIdUUID);
            subResource.setUpdatedDateTime(LocalDateTime.now());

            subResource = service.updateFromRestfulApi(resourceIdUUID, subResource, Utils.getHeaderDetailsFromHTTPRequest(header, OperationType.UPDATE));
            if (subResource != null) {
                subResource.add(linkTo(methodOn(ResourcesController.class).findById(resourceIdUUID.toString())).withSelfRel());
                subResource.add(?)
            }
        }
        return subResource;
    }
...