package de.ph87.home.knx.group; import jakarta.annotation.Nullable; import jakarta.servlet.http.HttpServletRequest; import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import tuwien.auto.calimero.GroupAddress; import tuwien.auto.calimero.KNXFormatException; import java.util.List; @Slf4j @RestController @RequiredArgsConstructor @RequestMapping("Knx/Group") public class GroupController { private final GroupService groupService; @NonNull @GetMapping("getByAddress/{id}") @ExceptionHandler(KNXFormatException.class) private GroupDto getByAddress(@PathVariable final String id, @NonNull final HttpServletRequest request) throws KNXFormatException { log.debug("getByAddress: path={}", request.getServletPath()); return groupService.getByAddressDto(GroupAddress.from(id)); } @NonNull @RequestMapping(value = "list", method = {RequestMethod.GET, RequestMethod.POST}) private List list(@RequestBody(required = false) @Nullable final GroupFilter filter, @NonNull final HttpServletRequest request) { log.debug("list: path={} filter={}", request.getServletPath(), filter); return groupService.list(filter); } }