Skip to content

IT-Enduro/web-protocols

Repository files navigation

Build project License: CC BY-NC-ND 4.0 pre-commit

Протоколы обмена информацией

Сборка и запуск

# сборка
$ ./gradlew clean build

Для запуска серверов требуется Postgres, запускаем через docker:

$ docker compose up -d

В клиентских приложениях используется Spring Shell, поэтому запуск через java -jar .... В клиенте доступны следующие команды:

shell:>help

Built-In Commands
       help: Display help about available commands
       clear: Clear the shell screen.
       quit, exit: Exit the shell.

Server Command
       find-by-id: Get server by Id
       update: Update server by Id
       create: Create server
       delete: Delete server by Id
       find-in-city: Get servers in city
       find-all: Get all servers

RESTful

Сервер:

$ ./gradlew restful:bootRun

Для просмотра API доступен Swagger UI

Клиент:

$ java -jar rest-client/build/libs/rest-client.jar

GraphQL

Протокол servers.graphqls.

Сервер:

$ ./gradlew graphql:bootRun

Для навигации по API можно использовать [GraphiQL][http://localhost:8080/graphiql].

gRPC

Протокол ServerService.proto.

Сервер:

$ ./gradlew grpc-server:bootRun

Клиент:

$ java -jar grpc-client/build/libs/grpc-client.jar

SOAP

Сервер:

$ ./gradlew soap-server:bootRun

Клиент:

$ java -jar soap-client/build/libs/soap-client.jar