When use GET with postman on link http://localhost:8081/api/data/mydatas/admin
i get an empty array. I've also tried adding { "username": "admin" } but it still returns as an empty array.
this is the code in my java service:
@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;
}
However, if i add username = "admin"; as below. It will send back the array with full of data.
@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;
}
What am i doing wrong? Ps i am a novice still struggling with the basics.
add @PathVariable before your parameter like so
@PathVariable String username
With this annotation you are telling Spring to grab username from URL path