source: src/main/java/com/example/skychasemk/controller/AirportController.java@ c064a42

Last change on this file since c064a42 was 57e58a3, checked in by ste08 <sjovanoska@…>, 4 months ago

Initial commit

  • Property mode set to 100644
File size: 1.3 KB
Line 
1package com.example.skychasemk.controller;
2
3import com.example.skychasemk.model.Airport;
4import com.example.skychasemk.services.AirportService;
5import org.springframework.beans.factory.annotation.Autowired;
6import org.springframework.web.bind.annotation.*;
7
8import java.util.List;
9import java.util.Optional;
10
11@RestController
12@RequestMapping("/api/airports")
13public class AirportController {
14
15 @Autowired
16 private AirportService airportService;
17
18 // Get all airports
19 @GetMapping
20 public List<Airport> getAllAirports() {
21 return airportService.getAllAirports();
22 }
23
24 // Get airport by ID
25 @GetMapping("/{id}")
26 public Optional<Airport> getAirportById(@PathVariable("id") Integer airportID) {
27 return airportService.getAirportById(airportID);
28 }
29
30 // Create a new airport
31 @PostMapping
32 public Airport createAirport(@RequestBody Airport airport) {
33 return airportService.saveAirport(airport);
34 }
35
36 // Update an existing airport
37 @PutMapping("/{id}")
38 public Airport updateAirport(@PathVariable("id") Integer airportID, @RequestBody Airport airport) {
39 return airportService.updateAirport(airportID, airport);
40 }
41
42 // Delete an airport
43 @DeleteMapping("/{id}")
44 public void deleteAirport(@PathVariable("id") Integer airportID) {
45 airportService.deleteAirport(airportID);
46 }
47}
Note: See TracBrowser for help on using the repository browser.