블로그 V4 - 스프링 RestAPI 전환

김인범's avatar
Nov 25, 2024
블로그 V4 - 스프링 RestAPI 전환

서버간의 역할도 확실히 하기 위해 백엔드 서버에 컨트롤러의 Mapping 주소들도 바꿔 줘야합니다.
추가로 page를 로드하는 컨트롤러 메서드도 삭제 시킵시다.
 
그 전에 이제 프론트에 응답할 때 통신이 성공했는지 실패했는지 알려주는 상태코드를
데이터와 함께 같이 보내야 합니다.
그러기 위해서 Resp라는 클래스를 만들어줍니다.
notion image
Resp 클래스는 제너릭 메서드를 사용해
데이터 타입에 의존하지 않고 여러 타입을 처리할 수 있는 메서드라고 합니다.
해당 Resp가 사용되는 컨트롤러에서는 메서드 마다 반환되는 타입이 다양하기 때문에
제너릭 메서드를 이용해 로직을 처리하게 끔 만들어줍니다.
 
Resp클래스를 이용해 컨트롤러에 매핑된 메서드들을 수정해 줍니다.
notion image
수정된 컨트롤러 클래스를 봅시다.
@CrossOrigin을 통해 cross 오류를 임시적으로 해결해놓았습니다.
 
RestAPI 규칙으로 URL부분에는 INSERT, PUT, UPDATE, DELETE 는 사용하면 안됩니다.
이 네가지는 매핑을 통해 명시하도록 되어있기 때문입니다.
 
두개의 메서드에서는 제너릭 메서드를 사용해 return을 유연하게 대처할 수 있도록 하였습니다.
 
@RequestBody를 통해 클라이언트가 보낸 DTO를 JSON으로 처리할 수 있게 해줍니다.
 
return문의 Resp.ok( ) 를 통해 성공응답을 반환하고 있습니다.
 
이 외의 @GetMapping 으로 페이지를 요청하는 메서드들은
프론트 서버의 index 페이지의 스크립트에서 처리할 수 있도록 옮겼습니다.
 
Share article

taker