RestAPI 전환 - CompUpdate

coding S's avatar
Apr 19, 2024
RestAPI 전환 - CompUpdate

CompService

@Transactional public User updateById(User sessionUser, CompRequest.UpdateDTO requestDTO) { User user = compJPARepo.findById(sessionUser.getId()) .orElseThrow(() -> new Exception401("로그인이 필요한 서비스입니다.")); if (requestDTO.getMyName() != null) { user.setMyName(requestDTO.getMyName()); } if (requestDTO.getPassword() != null) { user.setPassword(requestDTO.getPassword()); } if (requestDTO.getCompName() != null) { user.setCompName(requestDTO.getCompName()); } if (requestDTO.getPhone() != null) { user.setPhone(requestDTO.getPhone()); } if (requestDTO.getHomepage() != null) { user.setHomepage(requestDTO.getHomepage()); } if (requestDTO.getBirth() != null) { user.setBirth(requestDTO.getBirth()); } if (requestDTO.getBusinessNumber() != null) { user.setBusinessNumber(requestDTO.getBusinessNumber()); } if (requestDTO.getAddress() != null) { user.setAddress(requestDTO.getAddress()); } return user; }
 

CompResponse

public class CompResponse { //기업 회원정보 업데이트 DTO @Data public static class CompUpdateDTO { private Integer id; private String myName; private String compName; private String phone; private String businessNumber; private String homepage; private LocalDate birth; private String address; @Builder public CompUpdateDTO(User user) { this.id = user.getId(); this.myName = user.getMyName(); this.compName = user.getCompName(); this.phone = user.getPhone(); this.businessNumber = user.getBusinessNumber(); this.homepage = user.getHomepage(); this.birth = user.getBirth(); this.address = user.getAddress(); } }
 

CompController

//update @PutMapping("/api/comps/{id}") public ResponseEntity<?> update(@PathVariable Integer id, @RequestBody CompRequest.UpdateDTO requestDTO) { User sessionComp = (User) session.getAttribute("sessionComp"); User user = compService.updateById(sessionComp, requestDTO); session.setAttribute("sessionComp", user); return ResponseEntity.ok(new ApiUtil<>(requestDTO)); } //update-form @GetMapping("/api/comps/{id}") public ResponseEntity<?> updateForm(@PathVariable int id) { User sessionComp = (User) session.getAttribute("sessionComp"); CompResponse.CompUpdateDTO respDTO = compService.findById(sessionComp.getId()); // request.setAttribute("user", newSessionUser); return ResponseEntity.ok(new ApiUtil<>(respDTO)); }
 

json

[ GET - http://localhost:8080/api/comps/15 ]

{ "status": 200, "msg": "성공", "body": { "id": 15, "myName": "네이버", "compName": "네이버", "phone": "010-5678-5822", "businessNumber": "301-15-12412", "homepage": "www.naver.com", "birth": "1999-06-02", "address": "부산광역시 부산진구 범향빌딩403호" } }

[ PUT - http://localhost:8080/api/comps/15 ]

{ "myName" : "김성훈", "compName" : "그린컴퓨터아카데미", "phone" : "010-1111-2222", "birth" : "2023-03-05" }
💡
업데이트 정보 입력
{ "status": 200, "msg": "성공", "body": { "myName": "김성훈", "password": null, "compName": "그린컴퓨터아카데미", "phone": "010-1111-2222", "address": null, "birth": "2023-03-05", "businessNumber": null, "homepage": null } }
💡
이렇게 날아감
{ "status": 200, "msg": "성공", "body": { "id": 15, "myName": "김성훈", "compName": "그린컴퓨터아카데미", "phone": "010-1111-2222", "businessNumber": "301-15-12412", "homepage": "www.naver.com", "birth": "2023-03-05", "address": "부산광역시 부산진구 범향빌딩403호" } }
💡
재조회
 

[ DB 조회 ]

notion image
 
Share article

codingb