38 lines
1.2 KiB
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);
|
|
}
|
|
|
|
}
|