@ Produziert / Provider-Medientypabstimmung

Ich experimentiere mit dem Api-Verioning und habe eine ganz besondere Anforderung, dagegen zu arbeiten. Wir werden Content-Negotiation verwenden, dh @Produces-Annotation, und ich möchte einen benutzerdefinierten Medientyp in einem Format wie @Produces ({"th / v1-v10 + xml"}), wobei v1-v10 diese API angibt wird jede Anfrage mit Accept-Header von "th / v1 + xml", "th / v2 + xml" bis zu "th / v10 + xml" bedienen.

Ich weiß, das ist ein bisschen seltsam, aber die Idee ist, dass jeder Tropfen, den wir in der Produktion machen, eine neue Version für den Kunden sein wird, aber nicht jeder Service wird modifiziert. Daher möchte ich den Service mit einem Bereich versehen, damit ich ihn nicht für jeden Tropfen duplizieren muss, auch wenn er nicht geändert wird.

Was ich also herausfinden möchte, gibt es eine Möglichkeit, das Login in Jersey abzufangen, während es mit den Annotationen @Path und @Produces übereinstimmt? Ich weiß, dass ich Regex nicht für die Zuordnung von Medientypen verwenden kann.

.......

Etwas mehr Nachforschungen haben ergeben, dass das Jersey die MediaType.isCompatible-Methode (MediaType other) aufruft, um die Kompatibilität zwischen dem Anforderungsannahmeheader und dem Medientyp des Dienstanbieters zu bestimmen.

Ist möglicherweise in der Lage, dies ein wenig zu nutzen, wenn ich einen benutzerdefinierten MediaType erstellen und die Methode isCompatible überschreiben kann. Lässt Jersey eine solche Verlängerung zu?

Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage