Home4/src/main/java/de/ph87/home/knx/group/GroupController.java

38 lines
1.2 KiB
Java

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<GroupDto> list(@RequestBody(required = false) @Nullable final GroupFilter filter, @NonNull final HttpServletRequest request) {
log.debug("list: path={} filter={}", request.getServletPath(), filter);
return groupService.list(filter);
}
}