https://github.com/yujeong-shin/spring_encore/commit/77fe6c4c5092a4942efb6bf933a43a167b9558c6
CSR 방식으로 컨트롤러 코드 변경 정리
naver.com(프론트 URL) -> JS코드(axios - 서버 URL invovle되어 있음)
백엔드 개발자는 data만을 return해주고, 프론트 개발자에게 "데이터 받아서 알아서 화면 처리 해!" 하면 된다.
MVC 버전과 가장 다른 점은,
데이터가 잘 넘어갔는지, 데이터 처리 과정 중에 에러가 발생하진 않았는지 체크해 적절한 예외를 터트려 ResponseEntity로 처리해야 한다는 것이다.
그래야 프론트엔드 개발자가 정상 처리 됐을 때 A 화면을 띄우고, 처리에 실패했을 때 적절한 에러 화면으로 넘길 수 있다.
(+) SSR로 바꾸면 화면이 없어진다. 프론트 화면이 없을 때, 아래의 툴을 써서 개발을 진행한다.
🎈PostMan으로 테스트하기
회원 목록 조회
회원 상세 조회
회원가입
삭제
수정
🎈PostMan으로 예외처리하기
회원 상세 조회
@GetMapping("member/find/{id}")
public ResponseEntity<MemberResponseDto> findMember(@PathVariable int id){
MemberResponseDto memberResponseDto = null;
try{
memberResponseDto = memberService.findById(id);
//메서드 체이닝 방식
//ResponseEntity.ok(memberResponseDto);
return new ResponseEntity<>(memberResponseDto, HttpStatus.OK); //예외 안터지면 객체+상태코드
}catch(Exception e){
e.printStackTrace();
return new ResponseEntity<>(HttpStatus.NOT_FOUND); //예외터지면 상태코드만
}
}
'Back-End 공부 > Spring' 카테고리의 다른 글
코드로 보는 Servlet과 Controller의 차이 GET POST 요청 (0) | 2024.01.19 |
---|---|
스프링 에러메시지 공통소스화 (0) | 2024.01.18 |
스프링 HTML 화면없이 PostMan으로 테스트하기 (0) | 2024.01.18 |
스프링 MVC - 기본 CRUD 만들기 프로젝트 (0) | 2024.01.17 |
스프링 DB 연결 및 Transactional 처리 (0) | 2024.01.16 |