Service de consultation des données - Exemples de clients
Java
Technologies utilisées
Les exemples suivants sont développés à partir de la librairie jersey-client. Pour plus d'informations sur son utilisation, consultez la documentation sur le site de jersey. Téléchargez gosu-client-java pour un exemple détaillé de client développé en Java.
Exemple XML
La requête suivante envoyée en XML avec un format de réponse attendu en XML :
ClientConfig config = new DefaultClientConfig(); Client gosuClient = Client.create(config); WebResource webResource = gosuClient.resource(GOSU_URL + "/data/xml"); GosuRequest gosuRequest = new GosuRequest(); gosuRequest.setTokenId("xxxxxxxxxxxxxxxxxxxx"); gosuRequest.setSerial("218018207682"); gosuRequest.setDate(DatatypeConverter.parseDate("2012-01-19")); gosuRequest.setIndicator("STREAMING_ANALYSE_FLUX"); String gosuResponse = webResource.type(MediaType.APPLICATION_XML) .accept(MediaType.APPLICATION_XML).post(String.class, gosuRequest); System.out.println(gosuResponse);
Renvoie un résultat du type :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gosuResponse tokenId="xxxxxxxxxxxxxxxxxxxx"> <page>1</page> <pageSize>50</pageSize> <nbLinesTotal>17</nbLinesTotal> <serial>218018207682</serial> <date>2012-01-19</date> <periodType>D</periodType> <labels> <label code="DATE" name="Date" pos="1" /> <label code="STREAMING_NIVEAU1" name="Niveau+1" pos="2" type="STRING" /> <label code="STREAMING_NIVEAU2" name="Niveau+2" pos="3" type="STRING" /> <label code="STREAMING_NIVEAU3" name="Niveau+3" pos="4" type="STRING" /> <label code="STREAMING_NIVEAU4" name="Niveau+4" pos="5" type="STRING" /> <label code="STREAMING_NIVEAU5" name="Niveau+5" pos="6" type="STRING" /> <label code="STREAMING_FLUX" name="Flux" pos="7" type="STRING" /> <label code="STREAMING_DOMAINE" name="Domaine" pos="8" type="STRING" /> <label code="STREAMING_GENRE" name="Genre" pos="9" type="STRING" /> </labels> <units> <unit code="CONNEXIONS" name="Connexions" pos="510" type="NUMBER" /> <unit code="LECTURES" name="Sessions" pos="11" type="NUMBER" /> <unit code="DUREE_TOTALE" name="DUREE_TOTALE", "name": "Dur%C3%A9e+totale+des+sessions" pos="12" type="TIME" /> <unit code="DUREE_MAX" name="Dur%C3%A9e+maximale" pos="13" type="TIME" /> <unit code="DUREE_TOTALE_AFFICHAGE_PAGE" name="Dur%C3%A9e+totale+d%27affichage+page" pos="14" type="TIME" /> <unit code="DUREE_MAX_AFFICHAGE_PAGE" name="Dur%C3%A9e+d%27affichage+maximum" pos="15" type="TIME" /> <unit code="DUREE_MOYENNE_LECTURES" name="Dur%C3%A9e+moyenne+des+session" pos="16" type="TIME" /> </units> <data> <row> <col>2012-01-19</col> <col>6</col> <col>documentaires</col> <col>animal</col> <col>saison_1_episode_5</col> <col>17373543</col> <col>Nuit+%C3%A0+l%27aquarium</col> <col>6</col> <col>integral</col> <col>2</col> <col>2</col> <col>1096</col> <col>1029</col> <col>1108</col> <col>1032</col> <col>548</col> </row> <row> <col>2012-01-19</col> <col>6</col> <col>documentaires</col> <col>animal</col> <col>saison_1_episode_1</col> <col>17373543</col> <col>Nuit+%C3%A0+l%27aquarium</col> <col>6</col> <col>integral</col> <col>12</col> <col>11</col> <col>8107</col> <col>1751</col> <col>97585</col> <col>87244</col> <col>737</col> </row> ... </data> </gosuResponse>
Exemple JSON
La requête suivante envoyée en JSON avec un format de réponse attendu en JSON :
ClientConfig config = new DefaultClientConfig(); config.getClasses().add(DataJAXBContextProvider.class); Client gosuClient = Client.create(config); WebResource webResource = gosuClient.resource(GOSU_URL + "/data/json"); GosuRequest gosuRequest = new GosuRequest(); gosuRequest.setTokenId("xxxxxxxxxxxxxxxxxxxx"); gosuRequest.setSerial("218018207682"); gosuRequest.setDate(DatatypeConverter.parseDate("2012-01-19")); gosuRequest.setIndicator("WEB_4NIVEAUX_NIVEAU4"); String gosuResponse = webResource.type(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON).post(String.class, gosuRequest); System.out.println(gosuResponse);
Renvoie un résultat du type :
{ "gosuResponse" : { "tokenId" : "xxxxxxxxxxxxxxxxxxxx", "page" : 1, "pageSize" : 50, "nbLinesTotal" : 17, "serial" : "218018207682", "date" : "2012-01-19", "periodType" : "D", "labels":{ "label":[ { "code": "DATE", "name": "Date", "pos": 1, "type": "STRING" }, { "code": "STREAMING_NIVEAU1", "name": "Niveau+1", "pos": 2, "type": "STRING" }, { "code": "STREAMING_NIVEAU2", "name": "Niveau+2", "pos": 3, "type": "STRING" }, { "code": "STREAMING_NIVEAU3", "name": "Niveau+3", "pos": 4, "type": "STRING" }, { "code": "STREAMING_NIVEAU4", "name": "Niveau+4", "pos": 5, "type": "STRING" }, { "code": "STREAMING_NIVEAU5", "name": "Niveau+5", "pos": 6, "type": "STRING" }, { "code": "STREAMING_FLUX", "name": "Flux", "pos": 7, "type": "STRING" }, { "code": "STREAMING_DOMAINE", "name": "Domaine", "pos": 8, "type": "STRING" }, { "code": "STREAMING_GENRE", "name": "Genre", "pos": 9, "type": "STRING" } ] }, "units":{ "unit":[ { "code": "CONNEXIONS", "name": "Connexions", "pos": 10, "type": "NUMBER" }, { "code": "LECTURES", "name": "Sessions", "pos": 11, "type": "NUMBER" }, { "code": "DUREE_TOTALE", "name": "Dur%C3%A9e+totale+des+sessions", "pos": 12, "type": "TIME" }, { "code": "DUREE_MAX", "name": "Dur%C3%A9e+maximale", "pos": 13, "type": "TIME" }, { "code": "DUREE_TOTALE_AFFICHAGE_PAGE", "name": "Dur%C3%A9e+totale+d%27affichage+page", "pos": 14, "type": "TIME" }, { "code": "DUREE_MAX_AFFICHAGE_PAGE", "name": "Dur%C3%A9e+d%27affichage+maximum", "pos": 15, "type": "TIME" }, { "code": "DUREE_MOYENNE_LECTURES", "name": "Dur%C3%A9e+moyenne+des+session", "pos": 16, "type": "TIME" } ] }, "data" : { "row" : [ { "col":[ "2012-01-19", "6", "documentaires", "animal", "saison_1_episode_5", "17373543", "Nuit+%C3%A0+l%27aquarium", "6", "integral", "2", "2", "1096", "1029", "1108", "1032", "548" ] }, { "col":[ "2012-01-19", "6", "documentaires", "animal", "saison_1_episode_1", "17373201", "Comme+chien+et+chat", "6", "integral", "12", "11", "8107", "1751", "97585", "87244", "737" ] },... ] } } }