Innan du sätter igång med detta, läs igenom: Utveckling
Där har vi författat viktiga saker att känna till som systemutvecklare på Sundsvalls Kommun.
1. Repository (repo)
Open-source repos skapas här: https://github.com/Sundsvallskommun
Interna repos skapas här: https://gitlab.sundsvall.se
2. Skapande av applikation
Surfa in på: https://start.spring.io/ och ange följande:
Project - Maven Project
Spring Boot - Ta den senaste stabila versionen, för tillfället 2.6.2
Group - Ange
se.sundsvall
. Detta blir grunden i paketstrukturen.Artifact - Ange namnet på din applikation.
Name - Återigen namnet på din applikation, fast “vanligt” namn.
Description - En kortfattad beskrivning av applikationen.
Packaging - Jar.
Java - Minst 11
Under “Dependencies” kan du lägga till Maven-dependencies. Följande kan vara bra att ha, men det är självklart beroende på vad du ska bygga:
Klicka på “Generate your application” och ladda ned som .zip-fil.
Packa upp innehållet till ditt repo.
Nu är det äntligen dags att koda!
3. Biolerplatekod
Lägg till följande i pom:en:
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.4</version> </dependency>
Skapa en klass för att snygga till OpenAPI-info:
package se.sundsvall.demo; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class OpenApiConfig { @Bean OpenAPI openApi() { return new OpenAPI() .info(new Info().title("Demo Application") .version("1.0.0") .description("Description") .contact(new Contact().name("Contact Name") .email("noreply@sundsvall.se") .url("https://sundsvall.se"))); } }
Skapa även en enkel controller-klass för att ha någonting att anropa:
package se.sundsvall.demo; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping(value = "/demo") public class DemoResource { @GetMapping(value = "/helloThere") public ResponseEntity<String> helloThere() { return ResponseEntity.ok("General Kenobi!"); } }