L'interface REST
Spectrum™ Technology Platform fournit une interface REST aux services Web. Les services Web définis par l'utilisateur, qui sont ceux créés dans Enterprise Designer, prennent en charge les méthodes GET et POST. Les services par défaut installés dans le cadre d'un module prennent uniquement en charge GET. Si vous souhaitez accéder à l'un de ces services via POST, vous devez créer un service défini par l'utilisateur dans Enterprise Designer.
Pour afficher les services Web REST disponibles sur votre serveur Spectrum™ Technology Platform, accédez à :
http://server:port/rest
Destinations des services
Le point de terminaison pour une réponse XML est la suivante :
http://server:port/rest/service_name/results.xml
Le point de terminaison pour une réponse XML est la suivante :
http://server:port/rest/service_name/results.json
Les destinations des services Web définies par l'utilisateur peuvent être modifiées dans Enterprise Designer pour utiliser une autre URL.
URL WADL
Le WADL pour un Spectrum™ Technology Platform de service Web est :
http://server:port/rest/service_name?_wadl
Par exemple :
http://myserver:8080/rest/ValidateAddress?_wadl
Champs d'utilisateur
Vous pouvez transmettre des champs supplémentaires via le service Web, même si ce dernier ne les utilise pas. Ces champs sont renvoyés, intacts, dans la section user_fields
de la réponse. Pour les requêtes GET, les champs utilisateur sont transmis sous forme de paramètre dans l'URL, comme tout autre champ. Pour les requêtes POST, les champs d'utilisateur sont transmis dans le cadre de l'élément user_fields de la requête XML ou JSON.
Échantillon de requête REST utilisant GET avec une réponse XML
L'exemple suivant indique comment envoyer une requête REST au service ValidateAddress via la méthode GET demandant une réponse au format XML.
http://myserver:8080/rest/ValidateAddress/results.xml?Option.OutputCasing=U&Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759
Étant donné qu'une réponse XML a été demandée, l'échantillon de requête donnerait la réponse suivante :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml.ValidateAddressResponse xmlns="http://www.pb.com/spectrum/services/ValidateAddress">
<output_port>
<Address>
<Confidence>82</Confidence>
<RecordType>Normal</RecordType>
<CountryLevel>A</CountryLevel>
<ProcessedBy>USA</ProcessedBy>
<MatchScore>0</MatchScore>
<AddressLine1>1825 KRAMER LN</AddressLine1>
<City>AUSTIN</City>
<StateProvince>TX</StateProvince>
<PostalCode>78758-4260</PostalCode>
<PostalCode.Base>78758</PostalCode.Base>
<PostalCode.AddOn>4260</PostalCode.AddOn>
<Country>UNITED STATES OF AMERICA</Country>
<user_fields/>
</Address>
</output_port>
</xml.ValidateAddressResponse>
Échantillon de requête REST utilisant GET avec une réponse JSON
L'exemple suivant indique comment envoyer une requête REST au service ValidateAddress via la méthode GET demandant une réponse au format JSON.
http://myserver:8080/rest/ValidateAddress/results.json?Option.OutputCasing=U&Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759
Étant donné qu'une réponse JSON a été demandée, l'échantillon de requête donnerait le résultat suivant :
{
"ns1.json.ValidateAddressResponse" :
{
"ns1.output_port" :
{
"ns1.Confidence" : 82,
"ns1.RecordType" : "Normal",
"ns1.CountryLevel" : "A",
"ns1.ProcessedBy" : "USA",
"ns1.MatchScore" : 0,
"ns1.AddressLine1" : "1825 KRAMER LN",
"ns1.City" : "AUSTIN",
"ns1.StateProvince" : "TX",
"ns1.PostalCode" : "78758-4260",
"ns1.PostalCode.Base" : 78758,
"ns1.PostalCode.AddOn" : 4260,
"ns1.Country" : "UNITED STATES OF AMERICA"
}
}
}