QueryParam liaison avec le protocole enum en jersey
J'ai un reste de l'URL comme ceci http://www.localhost.com/service/resource?status=ACTIVE PASSIVE et j'ai une méthode comme ceci
@GET
public Resource resource(@QueryParam("status") Collection<STATUS> statusList){
}
où l'ÉTAT est un enum?
public enum STATUS{
ACTIVE,PASSIVE,DISABLED
}
Ma question est-il un moyen pour la requête param statut d'être automatiquement converties en une liste de type enum STATUT en jersey ou dois-je écrire mon propre fournisseur pour cela?
Vous devez vous connecter pour publier un commentaire.
De la Javadoc, le
@QueryParam
annoté type doit:String
argumentvalueOf
oufromString
qui accepte un seulString
argument (voir, par exemple,Integer.valueOf(String)
)List<T>
,Set<T>
ouSortedSet<T>
, oùT
satisfait à 2 ou 3 ci-dessus. La collection est en lecture seule.Pour votre cas, je voudrais aller avec la deuxième option en enveloppant l'enum dans une classe simple:
Puis changer votre méthode:
Essayer avec ceci:
Ajouter cette méthode pour votre enum:
fromString
méthode avec qui ^ signature. C'est essentiellement les mêmes quevalueOf
cependant, je ne suis pas sûr pourquoi, maillot n'est pas de bien jouer avecvalueOf
.fromString
. Je me demande quelle version prend en charge cette.@JsonCreator
.