Springブートでサンプルアプリケーションを開発しました。私は1つの抽象クラス(Employee
)と2つの具体的なサブクラス、例えばフルタイムとパートタイムの従業員を持っています。Spring RESTリポジトリに間違ったURLが表示される
好ましくは JPAプロバイダが作成した継承のタイプと3つのテーブルがあります。
また、Employee
のRESTリポジトリを作成しました。以下のようになります。私は、ブラウザで**/employee**
URLを呼び出すと
package com.caysever.repository;
import com.caysever.model.Employee;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
/**
* Created by alican on 04.05.2017.
*/
@RepositoryRestResource(path = "employee")
public interface EmployeeRepository extends JpaRepository<Employee, Long>{
}
、私は以下のようにコンテンツを取得しています:
{
"fullTimeEmployees" : [ {
"name" : "Alican",
"surname" : "Akkuş",
"birthDay" : "2017-05-04T12:37:20.189+0000",
"gender" : "MALE",
"totalWorkingHoursOfWeek" : 40,
"_links" : {
"self" : {
"href" : "http://localhost:8080/fullTimeEmployee/1"
},
"fullTimeEmployee" : {
"href" : "http://localhost:8080/fullTimeEmployee/1"
}
}
}
私はなって、localhost:8080/fullTimeEmployee/1
最初の従業員のために、このURLを呼び出したとき404ステータスコードが見つかりません。しかし、私はこのURLを持つ最初の従業員を取得しますlocalhost:8080/employee/1
。
あなたはGitHubの時にすべてのコードを見ることができます - >https://github.com/AlicanAkkus/jpa-inheritance-strategy
春RESTはfullTimeEmployee
URLを生成し、なぜ?
こんにちはダニエル、返信ありがとうございます。あなたが言ったように私はそれをしましたが、何も変わりませんでした。それでも同じURLが生成されます。 –