Giter Site home page Giter Site logo

spring-confectionery's Introduction

spring-confectionery

uruchamianie projektu

uruchomienie projektu odbywa się przez skrypt osłonowy gradlew (gradlew.bat pod windowsem), zadanie bootRun uruchamia aplikację:

./gradlew bootRun

w trakcie uruchamiania serwera, wypisywane są informacje o ładowaniu i uruchamianiu poszczególnych składników systemu, serwer jest w pełni gotowy po wypisaniu informacji o uruchomieniu całej apliacji (Started ConfectioneryApplication), co z dokładnością do czasu powinno wyglądać następująco:

2018-11-21 14:16:47.113  INFO 15489 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-11-21 14:16:47.119  INFO 15489 --- [           main] p.e.a.k.d.c.ConfectioneryApplication     : Started ConfectioneryApplication in 10.602 seconds (JVM running for 11.883)
<=========----> 75% EXECUTING [38s]
> :bootRun

następnie można zacząć kierwoać żadania do serwera.

sending request to the server with curl

Komunikacyja z serwerem wykorzystuje protokół HTTP. Uformowanie żądania zgodnego z protokołem HTTP można osiągnąć za pomocą programu curl. Obowiązkowym arguementem jest polecenia jest URI zasobu. Za pomocą przełącznika --request HTTPMETHOD możemy ustawić metodę HTTP. Za pomocą serii przełączników --header 'Key: value' możemy ustawić kolejne nagłówki żądania. Za pomocą przełącznika --data 'dane' możemy ustawić dane wysyłane wraz z żadaniem do serwera.

  • żądanie o zwrócenie listy wszystkich czekoladek przechowywanych w aplikacji
curl http://localhost:8080/chocolates
  • żadnie dodania nowej czekoladki
curl --request POST http://localhost:8080/chocolates --header 'Content-Type: application/json' --data '{"id":"ch8","name":"kokosanka","nuts":"brak","chocolate":"gorzka","ganache":"kokosowe","description":"szeroki opis czekoladki","mass":18}'
  • żądanie zwrócenia danych czekoladki o identifykatorze 'ch8'
curl http://localhost:8080/chocolates/ch8
  • żądanie usunięcia czekoladki o identifykatorze 'ch8'
curl --request DELETE http://localhost:8080/chocolates/ch8

opis projektu

obsługa żądań

Nadchodzące żadania są filtrowane, a następnie uruchamiana jest pasująca procedura obsługi. Aktulanie zarejestrowane punkty wejścia są wyświetlane w logach aplikacji przy starcie serwera np:

2018-11-21 15:20:46.201  INFO 20073 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/chocolates],methods=[GET]}" onto public java.util.List<pl.edu.agh.kis.databases.confectionery.domain.Chocolate> pl.edu.agh.kis.databases.confectionery.infrastructure.ChocolateResource.retrieveAllChocolates()
2018-11-21 15:20:46.204  INFO 20073 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/chocolates/{id}],methods=[GET]}" onto public org.springframework.hateoas.Resource<pl.edu.agh.kis.databases.confectionery.domain.Chocolate> pl.edu.agh.kis.databases.confectionery.infrastructure.ChocolateResource.retrieveChocolate(java.lang.String)

informuje o tym, że żadania do URI /chocolates z metodą GET są obsługiwane przez metodę public List<Chocolate> retrieveAllChocolates() z klasy ChocolateResource znajdującą się w pakiecie pl.edu.agh.kis.databases.confectionery.infrastructure. Z kolei żądanie GET do URI /chocolates/{id}, gdzie zamiast ciągu {id} zostanie podstawiony inny ciąg są obsługiwane przez metodę public Resource<Chocolate> retrieveChocolate(java.lang.String) z tej samej klasy.

opis mapowania obiektowo-relacyjnego

Projekt wykorzystuje standardowe adnotacja JPA do opisania sposobu mapowania klas na relacje. Klasy mapowane w projekcie znajdują się w pakiecie pl.edu.agh.kis.databases.confectionery.domain i jest to m.in. klasa Chocolate.

opis dostępu do do bazy danych

Dostęp do bazy danych odbywa się za pomocą instancji implementującej interface ChocolateRepository, instancja ta jest tworzona dynamicznie przez bibliotekę spring-data-jpa i posiada również metody z interfejsu, który rozszerza.

inny podobny projekty

jOOQ + spark

spring-confectionery's People

Contributors

micwypych avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.