Ogólne zasady wersjonowania API REST w POL-on
- Wersjonowanie odbywa się poprzez przekazanie numeru wersji w URL usługi.
- Kolejny numer wersji otrzymują tylko usługi, które zmieniają kontrakt lub modyfikują funkcjonalność.
- Wersje usługi, które nie są objęte daną modyfikacją nie zostaną podniesione.
- Każda usługa w danej domenie może mieć więc odrębny numer wersji.
- Wersjonowanie oznaczane będzie poprzez dwie sekcje numerów oddzielonych znakiem kropki.
- Wersje łamiące kontrakt podnoszone będą za pomocą pierwszej sekcji numeru wersji.
- Wersje modyfikujące tylko funkcjonalność, ale wstecz kompatybilne, podnoszone będą za pomocą drugiej sekcji numeru wersji.
- Usługi z zakresu nowych domen systemu POL-on 2.0 będą od razu przybierać numer wersji 1.0.
- Usługi z modułów systemu POL-on 2.0, które nie wymagają aktualnie modyfikacji pozostaną bez numeracji wersji w URL dopóki nie będą modyfikowane.
- Usługi REST API POL-on 1 nie będą już wersjonowane.
Pierwsze użycie wersjonowania usług w POL-on 2
Wymagania powodujące modyfikacje w funkcjonalności rejestracji udziałów czasu pracy w oświadczonych dyscyplinach wymogły konieczność wprowadzenia wersjonowania usług. Pierwszymi usługami, które wchodzą w tryb wersjonowania są następujące usługi z domeny Pracowników.
Środowisko produkcyjne:
- https://polon2.opi.org.pl/employees-api/v1.1/employee/{employeeInInstitutionId}/makeDisciplineStatement
- https://polon2.opi.org.pl/employees-api/v1.1/employee/{employeeInInstitutionId}/editStatement/{disciplineStatementId}
Demo:
- https://polon2-demo.opi.org.pl/employees-api/v1.1/employee/{employeeInInstitutionId}/makeDisciplineStatement
- https://polon2-demo.opi.org.pl/employees-api/v1.1/employee/{employeeInInstitutionId}/editStatement/{disciplineStatementId}
Jeżeli instytucja nie chce raportować udziałów o wartości 0%, może używać starych wersji usług:
- https://polon2.opi.org.pl/employees-api/employee/{employeeInInstitutionId}/makeDisciplineStatement
- https://polon2.opi.org.pl/employees-api/employee/{employeeInInstitutionId}/editStatement/{disciplineStatementId}
Jeżeli instytucja chce powoli przechodzić na obsługę wersjonowania może użyć: