繁体   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