我正在开发一个REST API,我想发出一个GET请求,以JSON格式检索由" username"指定的用户,如:
{
id: "559d7ced2de324e22a78998b"
firstname: "fname"
lastname: "flast"
username: "testpassword"
password: "testusername"
address: "123 road"
city: "washington DC"
state: "california"
zipCode: "2345"
phoneNumber: "234523452345"
email: "email@gmail.com"
}
路径为/ users,就像:http://localhost:8080/users
我的问题是,如何进行指定用户名的GET请求调用。
是这样的:http://localhost:8080/users/?username=testusername
?
这是我的Java方法。我正在使用Spring REST:
/* Get user by username */
@RequestMapping(method=RequestMethod.GET, value="{username}")
public User getUserByUsername(@PathVariable String username) {
return repo.findByUsername(username);
}
答案 0 :(得分:0)
这是你正确的格式 http://localhost:8080/users?username=testusername
如果你有超过1个参数,那么写
http://localhost:8080/users?username=testusername&email=email_address
答案 1 :(得分:0)
你有两个选择。如果客户端知道用户名,则可以支持新端点
GET /users/{username}
如果客户需要按用户名搜索可用的用户组,那么您有一种方法:
GET /users
GET /users?username={username}
@RequestMapping(method=RequestMethod.GET)
public User getUserByUsername(@PathVariable String username) {
if (username == null) {
return repo.findAllUsers();
}
return repo.findByUsername(username);
}