La manipulation de plusieurs paramètres dans une URI (Paisiblement) en Java

J'ai travaillé sur une petite échelle, web service en Java/Jersey qui lit les listes des informations de l'utilisateur à partir de clients contenues dans des fichiers XML. J'ai actuellement ce fonctionnement dans un seul aspect: l'utilisation de plusieurs paramètres de l'URI pour désigner tirant plusieurs ensembles de données de l'utilisateur ou de plusieurs ensembles d'informations de client. J'ai une version qui fonctionne actuellement, mais n'est pas le meilleur moyen, ni ce que la description du projet appels pour.

Actuellement, mon code ressemble à ceci:

@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****}

La première méthode gère une liste d'utilisateurs à partir d'un "client" désigne par "{client}" dans l'URI. La deuxième méthode permet de l'utilisateur de l'information " désigné par "{nom}" dans l'URI. Les deux fonctionnent avec un seul argument. Actuellement, afin de gérer plusieurs utilisateurs de " j'ai "{nom}" séparées par des virgules, comme "Client/Chick-Fil-A/utilisateurs/Phil,Bradley". Je peux analyser ce après l'utilisation de @PathParam et créer un tableau de ces "utilisateurs", mais encore une fois, je crois que ce n'est pas la meilleure façon de gérer cela, et la description du projet appelle à quelque chose de différent.

Est-il un moyen pour accomplir la même tâche avec une URI formaté en tant que "Client/Chick-Fil-A;cd=Phil,Bradley"? (L' ;cd= est ce qui me fait le plus de mal.)
J'ai aussi besoin d'être en mesure d'utiliser ce format pour plusieurs clients, c'est à dire "Client;cd=Chick-Fil-A,Métro/utilisateurs;cd=Phil,Bradley".

Edit: De préciser le projet:
Le client de l'information est contenue dans 6 des fichiers séparés. Chacun de ces fichiers a les mêmes 3 utilisateurs (ce qui est une preuve de concept, effectivement). J'ai besoin d'être en mesure de tirer différents sous-ensembles de l'information, par exemple, l'utilisateur Phil de Mcdonald's et de Chick-Fil-A, ou les utilisateurs de Phil et Pierre de Mcdonald's, ou les utilisateurs nommé Peter partir de tous les clients, etc.

OriginalL'auteur ZKSteffel | 2011-05-25