spring-data jpaで春データ休憩を使用して自己hrefに表示する正しいURLを取得できません。 StudentInformationクラス春データ休憩不当なリソースhref
@Entity
@Table(name="studentinformation", schema="main")
public class StudentInformation {
@Id
private Long id;
...
...
}
(他のプロパティ/ゲッター/セッターもあり、対応するリポジトリファイル
@RepositoryRestResource(collectionResourceRel = "students", path = "students")
public interface StudentRepository extends PagingAndSortingRepository<Student, Long> {
}
と
@Entity
@Table(name="student", schema="main")
public class Student {
@Id
private Long id;
...
...
@OneToOne
@JoinColumn(name = "id")
private StudentInformation studentInformation;
}
:
は、だから私は学生のクラスを持っています省略)
私はそのIDずつを検索するとき、私は期待通りに対応するリポジトリ@RepositoryRestResource(collectionResourceRel = "studentinformation", path = "students/studentinformation")
public interface StudentInformationRepository extends CrudRepository<StudentInformation, Long> {
}
学生ディスプレイと
、
{
"id": 1,
...
...
"_links": {
"self": {
"href": "http://localhost:8080/students/1"
},
"student": {
"href": "http://localhost:8080/students/1"
},
"studentinformation": {
"href": "http://localhost:8080/students/1/studentinformation"
}
}
}
除いて、私は学生からstudentInformationへのリンクをたどるとき、studentInformationが持っています自己リンクが正しくありません。
{
"id": 1,
...
...
"_links": {
"self": {
"href": "http://localhost:8080/students/studentinformation/1"
},
"studentinformation": {
"href": "http://localhost:8080/students/studentinformation/1"
}
}
}
どのように私は "HREF" を読むためにそのリンクを得るのです: "http://localhost:8080/students/1/studentinformation 代わり の "HREF":" http://localhost:8080/students/studentinformation/1」
おかげで、すべての
ありがとうございました。つまり、自分のhref URLにリソースをスタックする方法がないと言っているのですか? like、 http:// localhost:8080/RESOURCE/{ID}/SUB_RESOURCE' @RepositoryRestResourceを使用していますか?自分のカスタムRESTコントローラを定義する必要がありますか?それは不思議そうだ – user2254140
残念なことに、私は、少なくともリポジトリではなく、私が提供したリンクをチェックすることができます。それをする方法があれば - 知っているといいですね。それができる方法は、カスタム実装で@RepositoryRestControllerを定義し、それをあなたのリソースに関連付けることです。 –
リポジトリの実装をしたい場合は、 'SUB_RESOURCE/{ID}?RESOURCE_ID = {RESOURCE_ID}'を実行することができます –