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 placeras skapas här: https://github.com/Sundsvallskommun
Kontakta Per Persson för beställning av repo.
Interna repos placeras skapas här: https://gitlab.sundsvall.seKontakta Per Persson för beställning av repo.
2. Skapande av applikation
Surfa in på: https://codestart.quarkusspring.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.
Buildtool - Låt vara Maven.
Version - Låt vara “1.0.0-SNAPSHOT”.
Example code - Välj om du vill ha några exempelklasser. Om du väljer detta kommer paketstrukturen genereras, vilket kan vara skönt. Kom dock ihåg att ersätta exempelklasserna.
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. Döp om mappen från ditt applikationsnamn till “kod” och ersätt den befintliga “kod”-mappen i repot.
Nu är det äntligen dags att koda!
3.
...
När du har kodat klart och känner att det är dags att installera din applikation så är det några saker du behöver ha koll på.
...
Det finns två brancher
Sandbox - En branch som helt enkelt fungerar som en sandlåda. Där kan du experimentera lite.
Nås efter installation på: https://microservices.sundsvall.se/sandbox/{namnet på ditt repo}
Master - Produktionsbranchen. Det som pushas hit avses vara produktionskod.
Nås efter installation på: https://microservices.sundsvall.se/{namnet på ditt repo}
...
Biolerplatekod
Lägg till följande i pom:en för att exponera swagger-ui:
Code Block | ||
---|---|---|
| ||
<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-infon (Inte nödvändigt):
Code Block | ||
---|---|---|
| ||
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:
Code Block | ||
---|---|---|
| ||
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!");
}
} |
För att starta applikationen kör: mvn spring-boot:run
. Navigera sedan till http://localhost:8080/swagger-ui/index.html för att testa ditt API.