-
Notifications
You must be signed in to change notification settings - Fork 4
Rest Controller with Query Parameter
In der Java-Programmierung besteht oft die Notwendigkeit, REST-Controller zu erstellen, die verschiedene Clients bedienen können. In vielen Fällen müssen die Anfragen der Clients mithilfe von Query-Parametern verarbeitet werden. Hier wird beschrieben, wie man einen REST-Controller mit Query-Parametern in Java erstellt.
Zunächst muss eine einfache REST-Schnittstelle implementiert werden. Hierfür kann das Spring-Framework verwendet werden, das die Implementierung der Schnittstelle erheblich erleichtert. Ein Beispiel für einen einfachen REST-Controller sieht wie folgt aus:
@RestController
public class MyController {
@GetMapping("/my-endpoint")
public String getData() {
return "Hello World";
}
}
Hier wird eine Controller-Klasse definiert, die einen Endpunkt unter der URL "/my-endpoint" zur Verfügung stellt. Der Endpunkt gibt einfach "Hello World" zurück. Um den Endpunkt in einem Webbrowser aufzurufen, geben Sie einfach "http://localhost:8080/my-endpoint" ein.
Um nun Query-Parameter in den REST-Endpoint zu integrieren, müssen diese in der URL definiert werden. Die URL könnte zum Beispiel wie folgt aussehen: "http://localhost:8080/my-endpoint?param1=value1¶m2=value2". Im REST-Controller können dann die Parameter wie folgt verarbeitet werden:
@RestController
public class MyController {
@GetMapping("/my-endpoint")
public String getData(@RequestParam String param1, @RequestParam String param2) {
return "Parameter 1: " + param1 + ", Parameter 2: " + param2;
}
}
Dieser Endpunkt erwartet param1
und param2
als Query-Parameter in der URL und gibt diese als String aus. Wenn der Endpunkt mit der URL "http://localhost:8080/my-endpoint?param1=value1¶m2=value2" aufgerufen wird, gibt er folgenden String zurück: "Parameter 1: value1, Parameter 2: value2".
Es ist auch möglich, optionale Query-Parameter anzugeben, indem man das Attribut required
von @RequestParam
auf false
setzt:
@RestController
public class MyController {
@GetMapping("/my-endpoint")
public String getData(@RequestParam(required = false) String param1, @RequestParam(required = false) String param2) {
String result = "No parameters provided";
if (param1 != null) {
result = "Parameter 1: " + param1;
}
if (param2 != null) {
if (result.equals("No parameters provided")) {
result = "";
}
result += "Parameter 2: " + param2;
}
return result;
}
}
Dieser Code definiert optionale Query-Parameter und gibt, wenn sie in der URL vorhanden sind, eine entsprechende Nachricht aus. Wenn sie nicht vorhanden sind, gibt der Endpoint die Nachricht "No parameters provided" aus.
Die Verwendung von Query-Parametern in REST-Controllern in Java ist relativ einfach und kann mit dem Spring-Framework schnell implementiert werden. Die Verwendung von Query-Parametern ermöglicht es, die Anfragen von Clients flexibler und einfacher zu verarbeiten.