如何解决Spring @GetMapping返回空数组
在链接http:// localhost:8081 / api / data / mydatas / admin上将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;
}
但是,如果我添加用户名=“ 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;
}
我在做什么错?附言:我是一个仍在苦苦学习基础知识的新手。
解决方法
在参数之前添加@PathVariable
@PathVariable String username
使用此注释,您告诉Spring从URL路径中获取用户名
,您需要使用@PathVariable,
public List<Data> findByUsername(@PathVariable("username") String username)
,
@PathVariable批注应以语音标记“”中的字段名称作为“字符串用户名”之前的findByUsername的参数传入
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。