Spring@GetMapping返回空数组



当在链接上使用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的参数;字符串用户名">

最新更新