我有以下JPA型號:Spring Boot REST - 如何實現需要Java對象的搜索?
問題
@Entity
public class Issue {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String title;
private String text;
@ManyToOne
@JoinColumn(name="user_id")
private User user;
public Issue() {}
public Issue(String title, String text) {
this.title = title;
this.text = text;
}
public long getId() {
return id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String toString() {
return "Issue [id=" + id + ", title=" + title + ", text=" + text + ", user=" + user + "]";
}
}
用戶
@Entity
public class User {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String username;
private String firstname;
private String lastname;
public User() {}
public User(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", firstname=" + firstname + ", lastname=" + lastname
+ "]";
}
}
和延伸PagingAndSortingRepository
和包含方法List<Issue> findByUser(User user);
請參見下面的問題庫:
public interface IssueRepository extends PagingAndSortingRepository<Issue,Long> {
List<Issue> findByUser(User user);
}
我試圖找到一種方法來導航這些與HTTP調用的關係,即如何調用findByUser(User user)
並獲取該用戶的所有問題?
使用下面的電話我可以執行特定的查詢:
GET http://localhost:8080/issues/search/findByUser
但我不清楚我應該提供的用戶?我是否將該ID作爲查詢參數發送?我是否構造一個對象並將其作爲查詢參數發送?我只是用錯誤的方式來建模嗎?
我想找回包含此特定用戶的所有問題的JSON列表。
在此先感謝您的幫助或指導。
你能告訴我們你的倉庫? –
是的,現在發佈。 – Josh
我想這可能是有用的閱讀https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc和http://docs.spring.io/彈簧/文檔/ 4.3.8.RELEASE /彈簧的框架參考/ htmlsingle /#MVC控制器 –