当在链接上使用GET时http://localhost:8081/api/data/mydatas/admin
我得到一个空数组。我还试着添加{"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注释应以speechmarks中的字段名称传递"quot;作为findByUsername的参数;字符串用户名">