REST 服务 return
REST service return
我制作了一个 REST 客户端-服务器,一切都或多或少地工作正常。这是一个难题:我可以选择通过用户名检索用户,当用户实际存在时它可以正常工作。但是,当他不这样做时,我得到 204 http 代码,这很好,因为我创建了一个空 return。当没有找到用户时,我希望我的方法 return 向客户端控制台发送一个纯字符串,例如 "No such user found...",但是方法 return 类型在逻辑上是 User (class) , 找到 return 一个用户对象。
这是服务器端:
@GET
@Path("/{uName}")
@Produces({ "application/json", "application/xml"})
public User getUserByUsername(@PathParam("uName") String uName) {
returnAll = usrList.getUsers();
for (User u : returnAll) {
if (u.getUserName().equals(uName))
return u;
}
return null;
}
这是客户端的相关部分:
case 3:
sc.nextLine();
System.out.println("Enter username");
userName = sc.nextLine();
restConnect("http://localhost:8080/rest/user/"
+ userName, "GET");
promptKey();
将方法更改为 return String 类型显然会在实际找到用户时破坏代码。我该怎么做才能使两个类型 return 函数?谢谢
编辑:
当找到用户时,我的方法将 return 列表中的第一个用户 get(0)
,这是错误的。这是我用 ID
测试某些东西的残余
EDITx2:工作客户
case 3:
sc.nextLine();
System.out.println("Enter username");
userName = sc.nextLine();
try{
restConnect("http://localhost:8080/rest/user/"
+ URLEncoder.encode(userName, "UTF-8"), "GET");
}
catch(RuntimeException e){
System.out.println("No such user...");
}
promptKey();
当用户不存在时,您的代码应该返回 4xx 错误,并且当返回错误时,客户端应该有一个分支。
想一想您没有自己开发的客户应该如何工作,API 的定义可能会更清楚。
有关其他结果代码的详细信息,请参阅 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html。
我制作了一个 REST 客户端-服务器,一切都或多或少地工作正常。这是一个难题:我可以选择通过用户名检索用户,当用户实际存在时它可以正常工作。但是,当他不这样做时,我得到 204 http 代码,这很好,因为我创建了一个空 return。当没有找到用户时,我希望我的方法 return 向客户端控制台发送一个纯字符串,例如 "No such user found...",但是方法 return 类型在逻辑上是 User (class) , 找到 return 一个用户对象。 这是服务器端:
@GET
@Path("/{uName}")
@Produces({ "application/json", "application/xml"})
public User getUserByUsername(@PathParam("uName") String uName) {
returnAll = usrList.getUsers();
for (User u : returnAll) {
if (u.getUserName().equals(uName))
return u;
}
return null;
}
这是客户端的相关部分:
case 3:
sc.nextLine();
System.out.println("Enter username");
userName = sc.nextLine();
restConnect("http://localhost:8080/rest/user/"
+ userName, "GET");
promptKey();
将方法更改为 return String 类型显然会在实际找到用户时破坏代码。我该怎么做才能使两个类型 return 函数?谢谢
编辑:
当找到用户时,我的方法将 return 列表中的第一个用户 get(0)
,这是错误的。这是我用 ID
EDITx2:工作客户
case 3:
sc.nextLine();
System.out.println("Enter username");
userName = sc.nextLine();
try{
restConnect("http://localhost:8080/rest/user/"
+ URLEncoder.encode(userName, "UTF-8"), "GET");
}
catch(RuntimeException e){
System.out.println("No such user...");
}
promptKey();
当用户不存在时,您的代码应该返回 4xx 错误,并且当返回错误时,客户端应该有一个分支。
想一想您没有自己开发的客户应该如何工作,API 的定义可能会更清楚。
有关其他结果代码的详细信息,请参阅 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html。