簡體   English   中英

Spring @GetMapping 返回空數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM