2.2.4. GET

Prin metoda GET se pot extrage date din tabelele publicate.
  • parametru de cale: se scrie imediat după .../sdeiRESTWs/resources/rfDataExchangeInterface/ și poate avea urmatoarele valori
    • XML pentru format XML (.../sdeiRESTWs/resources/rfDataExchangeInterface/XML). Rezultatul este în format web rowset
    • JSON pentru format JSON (.../sdeiRESTWs/resources/rfDataExchangeInterface/JSON). Se poate alege intre doua structuri de fisiere JSON, utilizand parametrul de query JSONType:

      • pentru JSONType=1 (este formatul implicit) , formatul este:

        JSON Type1

        {
          "data": [
            {"row": [
              <val col1>, 
              <val col2>
              ... 
              <val colN>
            ]},
            ....
            {"row": [
              <val col1>, 
              <val col2>
              ... 
              <val colN>
            ]},
          ],
          "metadata": {
            "column-count": <N>,
            "column-definition": [
              {
                "column-index": 1,
                "column-name": <Col Name>,
                "column-type": <Col Type>,
                "column-type-name": <Col Type Name>
              },
              {
                "column-index": 2,
                "column-name": <Col Name>,
                "column-type": <Col Type>,
                "column-type-name": <Col Type Name>
              },
              .....
              {
                "column-index": N,
                "column-name": <Col Name>,
                "column-type": <Col Type>,
                "column-type-name": <Col Type Name>
              }
            ]
          }
        }


      • pentru JSONType=2, formatul este:

JSON Type2

{
  "data":[
    {
      "col1 name":<col1_row1 value>,
      "col2 name":<col2_row1 value>,
      ....
      "colN name":<colN_row1 value>
    },
    ....
    {
      "col1 name":<col1_rowN value>,
      "col2 name":<col2_rowN value>,
      ....
      "colN name":<colN_rowN value>
    },
  ]
}
    • CSV pentru format CSV (.../sdeiRESTWs/resources/rfDataExchangeInterface/CSV)
    • HTML pentru format HTML (.../sdeiRESTWs/resources/rfDataExchangeInterface/HTML)
  • parametrii de query: se scriu după parametrul de cale. Primul caracter este ? urmat de parametrii de query, separate prin &. (.../sdeiRESTWs/resources/rfDataExchangeInterface/XML?<param1=valoare>&<param2=valoare>&...<paramN=valoare>)

    • JSONType: optional si numai pentru format JSON. Pentru detalii a se vedea mai sus. Implicit este 1.
    • clientID: reprezintă ID-ul titularului - obligatoriu
    • roleID: reprezintă ID-ul rolului cu care se acceseaza datele - obligatoriu
    • userName: nume utilizator pentru autentificare - obligatoriu
    • password: parola utilizator pentru autentificare - obligatoriu
    • publishName: numele de publicare pentru tabelă - obligatoriu
    • csvSeparator: separator pentru out de tip CSV. Un singur caracter. Implicit este virgula.
    • csvTextDelimiter: delimitator de text pentru out de tip CSV. Un singur caracter. Implicit este ".
    • whereParams: valorile parametrilor dinamici specificaţi în condiţia "SQL Where" a tabelei publicate, separate cu caracterul ; (punct si virgulă) în cazul in care există mai mulţi parametrii.
      Daca parametrul este de tip Data sau Data+Timp valoarea lui se poate specifica in urmatoarele formate:
      • Timestamp: in milisecunde de la data de 1 Ianuarie 1970, 00:00:00 GMT.
      • Un sir avand formatul: DD-MM-YYYY[ HH:MI:SS]. Daca se omite partea [ HH:MI:SS] atunci se considera 00:00:00 (disponibil incepand cu versiunea 14.05 sau pe my.socratecloud.eu)
      • Cuvantul: CURRENT. In acest caz se va considera momentul apelului (disponibil incepand cu versiunea 14.05)
  • parametrii de paginare: se scriu dupa parametrul de cale sau dupa parametrii de query, separati prin & (.../sdeiRESTWs/resources/rfDataExchangeInterface/XML?startRow=valoare_start&endRow=valoare_sfarsit)
Selectia se face pe intervalul (startRowendRow]. Daca startRow nu este specificat se considera 0.

Exemple: 
  • Pentru a returna 100 de inregistrari in grupuri de cate 50 trebuie facute doua interogari cu parametrii startRow=0&endRow=50 si startRow=50&endRow=100
  • Pentru a returna prima inregistrare se face o interogare cu parametrii startRow=0&endRow=1
  • Pentru a returna a doua inregistrare se face o interogare cu parametrii startRow=1&endRow=2