Inhaltsvereinbarung auf der Basis von Anforderungsparametern implementieren

REST-Anwendungen (Representational State Transfer) können verschiedene Ressourcendarstellungen zurückgeben. Sie können die Inhaltsvereinbarung auf der Basis von Anforderungsparametern verwenden, um das Inhaltsformat für den Datenaustausch zwischen Servern und Clients zu bestimmen.

Informationen zu diesem Vorgang

Ressourcen können Daten in verschiedenen Formaten darstellen. Sie können die Inhaltsvereinbarung auf der Basis von URLs, Anforderungsparametern oder HTTP-Headern implementieren. Diese Task beschreibt die Inhaltsvereinbarung auf der Basis von Anforderungsparametern für das Empfangen verschiedener Datenformate.

Sie können Anforderungsparameter, z. B. Abfrageparameter, verwenden, um den Inhaltstyp anzugeben, den der Server zurückgeben soll. Wenn der Parameterwert z. B. xml ist, wird erwartet, dass der Server XML-Inhalt zurückgibt. Entsprechend wird erwartet, dass der Server JSON-Inhalt zurückgibt, wenn der Parameterwert json ist.

Die Verwendung von Anforderungsparametern reduziert die Anzahl der URLs im Vergleich zur Implementierung der Inhaltsvereinbarung auf der Basis von URL-Mustern. Diese Methode setzt jedoch voraus, dass ein Parameter in der Implementierung der Ressourcenmethode genutzt und syntaktisch analysiert wird.

Vorgehensweise

Verwenden Sie einen Parameter, um den Inhaltstyp für die vom Server zurückzugebenden Daten zu bestimmen.

Im folgenden Beispiel sind die Datenformate XML und JSON gültig, und das Format wird von einem Abfrageparameter angegeben. Standardmäßig wird XML zurückgegeben. Die Anforderung /resources/resource?format=json bewirkt, dass der Server JSON-Format vom Server zurückgegeben wird. Beispiel:

@Path("/resources")
public class Resource
{
    @Path("{resourceID}")
    @GET
    public Response getResource(@PathParam("resourceID") String resourceID, @QueryParam("format") String format)
    {
        if (format == null || "xml".equals(format)) {
            return Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();
        } else if ("json".equals(format)) {
            return Response.ok(/* entity in JSON format */).type(MediaType.APPLICATION_JSON).build();
        }
        return Response.notAcceptable(Variant.mediaTypes(MediaType.APPLICATION_XML_TYPE, MediaType.APPLICATION_JSON_TYPE).add().build()).build();
    }
}

Ergebnisse

Sie haben die Inhaltsvereinbarung auf der Basis von Parametern implementiert, um die Formate der Ressourcen für die Datendarstellung festzulegen.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_contentnegotiation_reqparm
Dateiname:twbs_jaxrs_contentnegotiation_reqparm.html