Skip to content

Rest Controller

Josh edited this page Jun 12, 2023 · 1 revision

Rest Controller in Java

RestController ist eine Klasse in der Java-Spring-Boot-Webanwendungs-Framework, die die Erstellung von RESTful-Webdiensten erleichtert. REST (Representational State Transfer) ist ein Architekturmuster für die Entwicklung von Webdiensten, die eine klare strukturierte URL-Route und HTTP-Methoden unterstützt, um HTTP-Anforderungen zu verarbeiten.

Erstellung eines RestController

Um einen RestController zu erstellen, muss die Klasse mit der Annotation @RestController gekennzeichnet werden. Hier ist ein Beispiel:

@RestController
@RequestMapping("/employees")
public class EmployeeController {

    @GetMapping("/{id}")
    public Employee getEmployeeById(@PathVariable("id") Long id) {
        return employeeService.getEmployeeById(id);
    }

    @PostMapping("/")
    public Employee addEmployee(@RequestBody Employee employee) {
        return employeeService.addEmployee(employee);
    }

    @PutMapping("/{id}")
    public Employee updateEmployee(@PathVariable("id") Long id, @RequestBody Employee employee) {
        return employeeService.updateEmployee(id, employee);
    }

    @DeleteMapping("/{id}")
    public void deleteEmployee(@PathVariable("id") Long id) {
        employeeService.deleteEmployee(id);
    }
}

In diesem Beispiel ist der RestController EmployeeController, alle Anforderungen die mit /employees beginnen, werden an diesen Kontroller weitergeleitet. Es gibt vier Grund-HTTP-Methoden, die durch die Annotationen @GetMapping, @PostMapping, @PutMapping und @DeleteMapping in der EmployeeController-Klasse definiert werden.

Verwendung eines RestController

Nachdem der RestController erstellt wurde, können HTTP-Anforderungen an den Webdienst gesendet werden. Der RequestBody kann verwendet werden, um Daten zu senden und der ResponseBody wird verwendet, um Daten zurückzugeben. Hier ist ein Beispiel, wie man Daten von einem RestController abrufen kann:

HTTP-Anforderung (GET)

GET http://localhost:8080/employees/1

HTTP-Antwort

{
    "id": 1,
    "name": "Max Muster",
    "position": "Softwareentwickler"
}

In diesem Beispiel wird eine HTTP-GET-Anforderung an den EmployeeController gesendet, um einen Mitarbeiter mit der ID=1 zu finden. Der EmployeeController gibt die Informationen des gefundenen Mitarbeiters als ResponseBody zurück.

Nutzen von RestController

Das Erstellen von RESTful-Webdiensten ist ein gängiges Entwicklungsverfahren und der Einsatz eines RestController vereinfacht diese Entwicklungsarbeit. Hier sind einige der Vorteile, die die Nutzung von RestController in Java-Spring-Boot bietet:

  • Einfache Entwicklung: Der RestController bietet ein einfaches Entwicklungsmodell für die Erstellung von RESTful-Webdiensten.
  • Flexibilität: Die @RequestMapping-Annotation kann verwendet werden, um eine Vielzahl von HTTP-Anforderungen zu unterstützen.
  • Besseres Management: Mit dem RestController können RESTful-Webdienste problemlos erstellt und verwaltet werden.

Der Einsatz von RestController erleichtert die Entwicklung von RESTful-Webdiensten in Java-Spring-Boot und hat somit einen wichtigen Platz in der Entwicklung von Webanwendungen.