5
0
mirror of https://github.com/AJMicke/KickerELO.git synced 2026-03-11 05:21:07 +01:00

Add minimal Rest API for players and results

This commit is contained in:
Anton Micke
2025-07-14 00:07:07 +02:00
committed by AJMicke
parent 99582c674b
commit 9a34c5b5c2
3 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
package org.kickerelo.kickerelo.api;
import org.kickerelo.kickerelo.data.Ergebnis1vs1;
import org.kickerelo.kickerelo.repository.Ergebnis1vs1Repository;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/api/results/1vs1")
public class Ergebnis1vs1Controller {
private final Ergebnis1vs1Repository ergebnis1vs1Repository;
public Ergebnis1vs1Controller(Ergebnis1vs1Repository ergebnis1vs1Repository) {
this.ergebnis1vs1Repository = ergebnis1vs1Repository;
}
@GetMapping
public ResponseEntity<List<Ergebnis1vs1>> getAllResults() {
return ResponseEntity.ok(ergebnis1vs1Repository.findAll());
}
@GetMapping("/{id}")
public ResponseEntity<Ergebnis1vs1> getResultForId(@PathVariable Long id) {
return ergebnis1vs1Repository.findById(id).map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.noContent().build());
}
}

View File

@@ -0,0 +1,32 @@
package org.kickerelo.kickerelo.api;
import org.kickerelo.kickerelo.data.Ergebnis2vs2;
import org.kickerelo.kickerelo.repository.Ergebnis2vs2Repository;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/api/results/2vs2")
public class Ergebnis2vs2Controller {
private final Ergebnis2vs2Repository ergebnis2vs2Repository;
public Ergebnis2vs2Controller(Ergebnis2vs2Repository ergebnis2vs2Repository) {
this.ergebnis2vs2Repository = ergebnis2vs2Repository;
}
@GetMapping
public ResponseEntity<List<Ergebnis2vs2>> getAllResults() {
return ResponseEntity.ok(ergebnis2vs2Repository.findAll());
}
@GetMapping("/{id}")
public ResponseEntity<Ergebnis2vs2> getResultForId(@PathVariable Long id) {
return ergebnis2vs2Repository.findById(id).map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.noContent().build());
}
}

View File

@@ -0,0 +1,32 @@
package org.kickerelo.kickerelo.api;
import org.kickerelo.kickerelo.data.Spieler;
import org.kickerelo.kickerelo.repository.SpielerRepository;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/api/players")
public class PlayerController {
private final SpielerRepository spielerRepository;
public PlayerController(SpielerRepository spielerRepository) {
this.spielerRepository = spielerRepository;
}
@GetMapping
public ResponseEntity<List<Spieler>> getAllPlayers() {
return ResponseEntity.ok(spielerRepository.findAll());
}
@GetMapping("/{id}")
public ResponseEntity<Spieler> getPlayer(@PathVariable Long id) {
return spielerRepository.findById(id).map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.noContent().build());
}
}