我一直在使用Java /
Jersey开发小型Web服务,该服务从XML文件中包含的客户端读取用户信息列表。目前,我在所有方面都具有此功能,除了一个方面:在URI中使用多个参数来表示提取多组用户信息或多组客户信息。我有一个当前可以使用的版本,但它不是最佳方法,也不是项目描述所要求的。
目前,我的代码如下所示:
@Path("Client/{client}/users")
public class UserPage
{
@GET
@Produces(MediaType.TEXT_HTML)
public String userChoice(@PathParam(value = "client") final String client)
{****Method here which handles a list of 'users'****}
@GET
@Path("{name}")
@Produces(MediaType.TEXT_HTML)
public String userPage(@PathParam(value = "client") final String client, @PathParam(value = "name") final String name)
{****Method here which handles 'user' information****}
第一种方法处理URI中由“ {client}”表示的“客户端”中的用户列表。第二种方法在URI中传递由“
{name}”表示的“用户”信息。两者都将使用单个参数起作用。目前,为了处理多个“用户”,我用逗号分隔“ {name}”,例如“ Client /
Chick-Fil-A / users /
Phil,Bradley”。我可以在使用@PathParam之后解析此内容并创建这些“用户”的数组,但是同样,我觉得这不是处理此问题的最佳方法,并且项目描述需要其他方式。
有没有办法用URI格式为“ Client / Chick-Fil-A; cd = Phil,Bradley”来完成相同的任务?(最大的麻烦就是cd
=。)我还需要能够将这种格式用于多个客户端,例如“ Client; cd = Chick-Fil-A,Subway / users; cd =
Phil,Bradley” 。
编辑:
澄清项目:客户端信息包含在6个单独的文件中。这些文件中的每一个都有相同的3个用户(有效地证明了这一点)。我需要能够提取不同的信息子集,例如,来自麦当劳和Chick-
Fil-A的用户Phil,或来自麦当劳的用户Phil和Peter,或来自所有客户端的名为Peter的用户,等等。