Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Zmieniono opis endpointu do dodawania dokumentów

...

Ścieżka do servletu: api/documents/indexes/{documentClassId}

Metoda: GET

Parametry:

  • documentClassId - Id klasy dokuementów( parametr przekazany w ścieżce servlet'u) 

Odpowiedź:

  • Odpowiedź zawiera listę indeksów.

Dodanie

...

dokumentu

Ścieżka do servletu: api/documents/upload

...

enctypemultipart/form-data

Parametry:

 

  • indexesAsJson (od wersji 4.0.39) - (opcjonalny, true/false) Czy indeksy przekazywane są w formacie JSON (pole indexesJson formularza)

Treść zapytania:

Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:

    • file - Pole typu file 
    • activityId - Id zadania
    • processId - Id procesu
    • documentClassId - Id klasy dokumentów
    • description - Opis
    • newVersion - (true/false) Czy zapisać jako nowa wersja
    • indexes - (opcjonalny) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane zgodnie z typem żądania form-data, czyli w formie

      Code Block
      languagejs
      titlePrzykład prawidłowej wartości pola indexes
      indexes[1]: "Wartość indeksu o id 1"
      indexes[3]: "Wartość indeksu o id 3"
    • indexesJson (od wersji 4.0.39) - (opcjonalny, należy go podawać w połączeniu z parametrem zapytania indexesAsJson=true) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane w formacie JSON:

      Code Block
      languagejs
      titlePrzykład prawidłowej wartości pola indexes
      indexes: {
      	"1": "Wartość indeksu o id 1",
      	"3": "Wartość indeksu o id 3",
      	"11": 234.62, /* Wartość indeksu zmiennoprzecinkowego o id 11 */
      	"15": false /* Wartość indeksu logicznego o id 15 */
      }
    Code Block
    titlePrzykładowa treść zapytania z programu POSTMAN
    collapsetrue
    POST /PlusWorkflow/api/documents/upload HTTP/1.1
    Host: localhost:8080
    Cache-Control: no-cache
    Postman-Token: 4ab6c224-0ea3-9ecc-c8ac-a4823501a54b
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="file"; filename="Nowy dokument tekstowy.txt"
    Content-Type: text/plain
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="documentClassId"
    1
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="newVersion"
    false
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="indexes[1]"
    wartosc indeksu o id 1
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="indexes[3]"
    wartosc indeksu o id 3
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--

...

  • Odpowiedź zawiera definicję zapisanego pliku

 

Code Block
languagejavascript
titlePrzykład formularza dodawania dokumentu
linenumberstrue
collapsetrue
Ext4.widget('window',{
    title:'Nowy dokument',
    width:500,
    height:300,
    autoShow:true,
    items:[
        {
            xtype:'form',
            items:[
                {
                    xtype:'fileuploadfield',
                    name:'file'
                },{
                    xtype:'textfield',
                    value:3,
                    name:'documentClassId'
                },{
                    xtype:'textfield',
                    value:processId,
                    name:'processId'
                },{
                    xtype:'textfield',
                    value:activityId,
                    name:'activityId'
                },{
                    xtype:'textfield',
                    value:123,
                    name:'indexes[1]'//id indeksu z bazy danych
                },{
                    xtype:'textfield',
                    value:'wartosc',
                    name:'indexes[4]'//id indeksu z bazy danych
                }
            ]
        }
    
    ],
    buttons:[
        {
            text:'Zapisz',
            handler:function(){
                var form=this.up('window').down('form').getForm();
                form.submit({
                    url:'api/documents/upload'
                });
            }
        }
    ]
});
Tip
titleWsparcie dla InternetExplorer

 W przeglądarce InternetExplorer aby wykonać upload pliku serwer musi odpowiedzieć z nagłówkiem Content-Type: text/html. Należy w takim wypadku wywołać żądanie z dodatkowym parametrem:

responseAsHtml - true wymusza ustawienie nagłówka Content-Type na text/html

Dodanie dokumentu (od wersji 4.0.35)

Ścieżka do servletu: api/documents/upload

Metoda: POST

enctypemultipart/form-data

Treść zapytania:

Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:

  • file - Pole typu file 
  • activityId - Id zadania
  • processId - Id procesu
  • documentClassId - Id klasy dokumentów
  • description - Opis
  • newVersion - (true/false) Czy zapisać jako nowa wersja
  • indexes - (opcjonalny) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane w formacie JSON:

    Code Block
    languagejs
    titlePrzykład prawidłowej wartości pola indexes
    indexes: {
    	"1": "Wartość indeksu o id 1",
    	"3": "Wartość indeksu o id 3",
    	"11": 234.62, /* Wartość indeksu zmiennoprzecinkowego o id 11 */
    	"15": false /* Wartość indeksu logicznego o id 15 */
    }
Code Block
titlePrzykładowa treść zapytania z programu POSTMAN
collapsetrue
POST /PlusWorkflow/api/documents/upload HTTP/1.1
Host: localhost:8080
Cache-Control: no-cache
Postman-Token: 4ab6c224-0ea3-9ecc-c8ac-a4823501a54b
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="Nowy dokument tekstowy.txt"
Content-Type: text/plain

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="documentClassId"
1
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="newVersion"
false
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="indexes"
{ "1": "Wartość indeksu o id 1", "3": "Wartość indeksu o id 3", "11": 234.62, "15": false }
------WebKitFormBoundary7MA4YWxkTrZu0gW--

 

...

  • Jeżeli podamy oba parametry, to dokument zostanie dodany do archiwum i podłączony do wskazanego zadania.
  • Jeżeli podamy tylko processId, to dokument zostanie dodany do archiwum i podłączony do wskazanego procesu.
  • Jeżeli nie podamy żadnego z tych parametrów lub podamy tylko activityId, to dokument zostanie dodany tylko do archiwum.

...

Tip
titleWsparcie dla InternetExplorer

 W przeglądarce InternetExplorer aby wykonać upload pliku serwer musi odpowiedzieć z nagłówkiem Content-Type: text/html. Należy w takim wypadku wywołać żądanie z dodatkowym parametrem:

responseAsHtml - true wymusza ustawienie nagłówka Content-Type na text/html

Pobieranie dokumentu

Ścieżka do servletu: api/documents/download/{fileId}

...