backend/README.md
2020-11-09 16:47:12 +01:00

2.4 KiB
Executable File

Start aplikacji

Zeby wystartowac aplikacje backendu najpierw nalezy postawic testowa baze danych na naszym komputerze za pomoca dockera. Jesli raz juz go odpalimy przy nastepnym razem bardzo mozliwe, ze wlaczy sie sam. AAby sprawdzic czy docker jesty wystartowany mozna uzyc docker ps

docker-compose -f stack.yml up

Nastepnie w restservice/src/main/resources/application.properties nalezy podac ip naszego kontenera.

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=example
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create

server.port=1285

Następnym krokiem jest odpalenie poniższych komend w terminalu.

cd restservice
mvn spring-boot:run

Token

Żeby tesotwać API wpełni potrzebny nam jest token który otrzymujemy na podstawie ticketa z systemu autoryzacyjnego CAS. Z tego powodu system autoryzacji działa inaczej niż w "książkowych" restowych aplikacjach i np Postman za nas jej nie dokona. Musimy mu podać już uzyskany token. Aby łatwo go uzyskać odpal skrypt

python gettoken.py

Na koniec w przęglądarce dostaniesz w odpowiedzi token. W samym pliku można zmienić porty aplikacji jeśli to potrzebne.

Api docs

Żeby zobaczyć dokumentację api trzeba wejść w przeglądarce na http://localhost:1285/swagger-ui.html po odpaleniu aplikacji.

Nazewnictwo odpowiedzi

Każdą odp zaczynamy od modelu, który opisuje np. Courses a kończymy na Response. Między tymi dwoma członami możemy dodawać modyfikatory opisujące dokładniej odpowiedź np. Default. W ten sposób możemy otrzymać nazwę CoursesDefaultResponse.java

Packaging

Zeby spakowac apke do jara wystarcza dwie komendy zaczynajac z glownego katalogu projektu

mvn clean
mvn install
cd restservice
mvn clean package spring-boot:repackage

Utworzony zostanie jar w restservice/target/restservice-1.0-SNAPSHOT.jar. Oczywiscie zeby jar zadzialal kontenery dockerowe musza byc odpalone (lub baza danych na serwerze jesli zmienialismy propertisy z localhost)

Troubleshooting

Spring chyba cacheuje jakies dane dotyczace polaczenia wiec jesli spring wywali Ci blad Connection Refused, a wiesz, ze ta baza stoi na podanym ip i porcie to sprobuj

mvn clean
mvn install