Fix settings save: use @FormParam instead of @QueryParam for PATCH body

This commit is contained in:
2026-07-03 12:21:29 +02:00
parent e9be57bde0
commit 882914d271
@@ -8,6 +8,7 @@ import jakarta.inject.Inject;
import jakarta.ws.rs.*; import jakarta.ws.rs.*;
import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import java.util.List;
@Path("/api/settings") @Path("/api/settings")
public class SettingsController { public class SettingsController {
@@ -30,12 +31,13 @@ public class SettingsController {
} }
@PATCH @PATCH
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_HTML) @Produces(MediaType.TEXT_HTML)
public Response saveSettings( public Response saveSettings(
@QueryParam("cache_ttl_hours") @DefaultValue("8") String cacheTtl, @FormParam("cache_ttl_hours") @DefaultValue("8") String cacheTtl,
@QueryParam("default_types") @DefaultValue("Album") String defaultTypes) { @FormParam("default_types") List<String> defaultTypes) {
db.setSetting("cache_ttl_hours", cacheTtl); db.setSetting("cache_ttl_hours", cacheTtl);
db.setSetting("default_types", defaultTypes); db.setSetting("default_types", defaultTypes != null ? String.join(",", defaultTypes) : "Album");
return Response.ok("<div class=\"alert alert-success\">Settings saved</div>") return Response.ok("<div class=\"alert alert-success\">Settings saved</div>")
.build(); .build();
} }