TbLinkController.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.its.op.controller.database;
  2. import com.its.op.model.dto.LinkDto;
  3. import com.its.op.model.entity.Link;
  4. import com.its.op.service.database.TbLinkService;
  5. import io.swagger.annotations.Api;
  6. import io.swagger.annotations.ApiOperation;
  7. import lombok.RequiredArgsConstructor;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.springframework.http.HttpStatus;
  10. import org.springframework.http.ResponseEntity;
  11. import org.springframework.web.bind.annotation.*;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. @Slf4j
  15. @RequiredArgsConstructor
  16. @RestController
  17. @RequestMapping("/api/database/tb-link")
  18. @Api(tags = "09.기초데이터관리-02.링크", description="링크")
  19. public class TbLinkController {
  20. private final TbLinkService service;
  21. @ApiOperation(value = "전체조회(TB_LINK)", response = LinkDto.LinkInfo.class)
  22. @GetMapping(value = "", produces = {"application/json; charset=utf8"})
  23. public ResponseEntity<List<LinkDto.LinkInfo>> findAll() {
  24. List<Link> data = this.service.findAll();
  25. List<LinkDto.LinkInfo> result = new ArrayList<>();
  26. for (Link obj: data) {
  27. result.add(new LinkDto.LinkInfo(obj));
  28. }
  29. return new ResponseEntity<>(result, HttpStatus.OK);
  30. }
  31. @ApiOperation(value = "개별조회(TB_LINK)", response = LinkDto.LinkInfo.class)
  32. @GetMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
  33. public ResponseEntity<LinkDto.LinkInfo> findById(@PathVariable final Long id) {
  34. Link obj = this.service.findById(id);
  35. if (obj != null) {
  36. return new ResponseEntity<>(new LinkDto.LinkInfo(obj), HttpStatus.OK);
  37. }
  38. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  39. }
  40. @ApiOperation(value = "도로명변경(TB_LINK)", response = LinkDto.LinkInfo.class)
  41. @PutMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
  42. public ResponseEntity<LinkDto.LinkInfo> updateNameById(@PathVariable final Long id, @RequestBody final LinkDto.LinkNameUpdateReq req) {
  43. Link obj = this.service.updateNameById(id, req);
  44. if (obj != null) {
  45. return new ResponseEntity<>(new LinkDto.LinkInfo(obj), HttpStatus.OK);
  46. }
  47. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  48. }
  49. }