/sopra-fs20-template-server

A simple template for the SoPra 2020 server!

Primary LanguageJavaApache License 2.0Apache-2.0

SoPra RESTful Service Template FS20

Getting started with Spring Boot

Setup this Template with your IDE of choice

Download your IDE of choice: (e.g., Eclipse, IntelliJ) and make sure Java 13 is installed on your system.

  1. File -> Open... -> SoPra Server Template
  2. Accept to import the project as a gradle project

To build right click the build.gradle file and choose Run Build

Building with Gradle

You can use the local Gradle Wrapper to build the application.

Plattform-Prefix:

  • MAC OS X: ./gradlew
  • Linux: ./gradlew
  • Windows: ./gradlew.bat

More Information about Gradle Wrapper and Gradle.

Build

./gradlew build

Run

./gradlew bootRun

Test

./gradlew test

Development Mode

You can start the backend in development mode, this will automatically trigger a new build and reload the application once the content of a file has been changed and you save the file.

Start two terminal windows and run:

./gradlew build --continuous

and in the other one:

./gradlew bootRun

If you want to avoid running all tests with every change, use the following command instead:

./gradlew build --continuous -xtest

API Endpoint Testing

Postman

  • We highly recommend to use Postman in order to test your API Endpoints.

Debugging

If something is not working and/or you don't know what is going on. We highly recommend that you use a debugger and step through the process step-by-step.

To configure a debugger for SpringBoot's Tomcat servlet (i.e. the process you start with ./gradlew bootRun command), do the following:

  1. Open Tab: Run/Edit Configurations
  2. Add a new Remote Configuration and name it properly
  3. Start the Server in Debug mode: ./gradlew bootRun --debug-jvm
  4. Press Shift + F9 or the use Run/Debug"Name of your task"
  5. Set breakpoints in the application where you need it
  6. Step through the process one step at a time

Testing

Have a look here: https://www.baeldung.com/spring-boot-testing