[英]Empty JSON returned when trying to use @GetMapping to an API in Spring Java
[英]Spring @GetMapping returning empty array
當在鏈接 http://localhost:8081/api/data/mydatas/admin 上使用帶有 postman 的 GET 時
我得到一個空數組。 我也嘗試添加 { "username": "admin" } 但它仍然作為空數組返回。
這是我的 java 服務中的代碼:
@GetMapping("/mydatas/{username}")
public List<Data> findByUsername(String username) {
Query q = em.createQuery("select data from Data data where data.username = :username");
q.setParameter("username", username);
List<Data> mydatas = q.getResultList();
return mydatas;
}
但是,如果我添加 username = "admin"; 如下。 它將發送回包含完整數據的數組。
@GetMapping("/mydatas/{username}")
public List<Data> findByUsername(String username) {
username = "admin";
Query q = em.createQuery("select data from Data data where data.username = :username");
q.setParameter("username", username);
List<Data> mydatas = q.getResultList();
return mydatas;
}
我究竟做錯了什么? Ps 我是一個新手,仍在努力學習基礎知識。
像這樣在參數之前添加@PathVariable
@PathVariable String username
使用此注釋,您告訴 Spring 從 URL 路徑獲取用戶名
您需要使用@PathVariable,
public List<Data> findByUsername(@PathVariable("username") String username)
@PathVariable 注釋應與語音標記“”中的字段名稱一起作為“字符串用戶名”之前 findByUsername 的參數傳入
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.