spring-projects / spring-projects/spring-data-rest

Following relation of embedded object results in HTTP NOT FOUND error [DATAREST-355]

Open
#737 1 comment 0 reactions 1 assignee View on GitHub

@odrotbohm is already working on this.

Since Dec 31, 2020.

type: bug
Dominant language
Java
Stars
958
Forks
568
PR merge metrics
No merged PRs in 30d

Description

David Donn opened DATAREST-355 and commented

If you have an entity with an embedded object that has relations, those relations don't work, they result in an HTTP 404 error.

I've attached a Maven project with a failing junit test case showing the problem.

e.g. country is part of address. The test:country relation is broken. However, test:customerType works fine.

{
  "name" : "Somebody",
  "address" : {
    "address1" : "Somewhere"
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost/customers/1"
    },
    "test:customerType" : {
      "href" : "http://localhost/customers/1/customerType"
    },
    "test:country" : {
      "href" : "http://localhost/customers/1/country"
    },
    "curies" : [ {
      "href" : "http://localhost:8080/test/{rel}",
      "name" : "test",
      "templated" : true
    } ]
  }
}

Also, why does the relation appear "outside" of the embedded object? I haven't tried it, but what happens if I have two embedded objects of the same type? How do I tell which relation relates to which embedded object?


Affects: 2.1.1 (Dijkstra SR1)

Attachments:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.