Gibt es einen Weg Parameter dynamisch zu machen?
Hier eine kleine Beschreibung von meiner Applikation und dem Problem:
Ich versuche gerade eine Rest API herzustellen, welche als PC Generator dienen soll. Ich habe mit Hilfe einer "Part"-Klasse alle Arten von Teilen (CPU, GPU, usw.) kurz zusammengefasst und mit Hilfe von Switches, die die Klassennamen abfragen, stelle ich dann im Menü fest, um welche Art von Teil es sich handelt. Jede Teil-Art hat natürlicherweise verschiedenste Attribute.
Ich möchte jetzt aber, einen Editor für die Teile erstellen. Das Problem daran ist, dass ich dafür extrem viele Parameter eintippen müsste, was auf der einen Seite schlecht für den User ist, auf der anderen Seite aber auch sehr nervig zum coden ist.
Hier meine Frage:
Gibt es eine Möglichkeit, wie der User nur die nötigen Parameter eingeben muss, anstatt alles eintippen zu müssen? Und wäre es möglich ohne mehrere Male die gleiche Methode, mit verschiedenen Parameter, zu verwenden?
Hier ist noch ein Schema, wie das ganze aussieht:
1 Antwort
Entweder du arbeitest mit Überladungen oder du prüfst in der Methode auf bestimmte default-Werte.
Beispiel:
void savePerson(String name) {
if (name == null) {
// ...
}
else {
// ...
}
}
Bezogen auf die API-Route kannst du mit Annotationen Parameter als optional kennzeichnen.
In Jakarta EE:
@GET @Path("/some/route/{requiredParam}")
public Response someMethod(
@PathParam("requiredParam") String requiredParam,
@QueryParam("optionalParam") @DefaultValue("default value") String optionalParam) {
/* ... */
}
Beispielaufrufe:
/some/route/test
/some/route/test?optionalParam=Hello+World
In Spring:
@GetMapping("/some/route")
@ResponseBody
public String someMethod(@RequestParam(defaultValue = "default value") String param) {
/* ... */
}