RESTful API설계 질문드립니다.(스프링부트)

RESTful API설계 질문드립니다.(스프링부트)

작성일 2024.04.15댓글 1건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요. 독학 3개월차 코린이입니다.
많은 인터넷이나 유튜브 강의에서 봤지만 RESTful API에 관련해 상세히 알려주는곳이 거의 없더라고요.

아니면 너무 고레벨의 스킬이라 제가 이해를 못한거일수도있고요.

spring boot를 이용해 웹 사이트를 만들고있습니다. 여기서 게시판을 예를 들어보겠습니다.

1. 정보게시판이 있다고한다면 게시판 리스트를 조회할때
@GetMapping(/information)

2. 정보게시판의 특정게시물을 조회할 때
@GetMapping(/information/{id})

여기까지는 아무 문제가 없습니다.

3. 정보게시판에 새 글을 작성할때가 문제입니다.
내가 글쓰기 버튼을 누르고, 서버에서 글쓰는 페이지를 보여주고. 글 작성을 완료하면 작성완료버튼을 누르면됩니다.
이렇게되면 서버에 두번 요청을 하게되는데요. 다들 뭐 @PostMapping(/infomation)이렇게 하면 된다고 하더라고요.

그러면요. 글쓰는 페이지로 이동시키는 매핑은 뭘로하죠?

현재 @GetMapping(/information) 여기서 모든 정보게시판의 리스트를 보여주는 화면에서
글쓰기 버튼을 누르면 -> @GetMapping(/information/new)로 받아서 글쓰기 페이지를 보여주고.
글 작성 완료시 @PostMapping((/information/new) 이렇게 받아야 하나요? 아니면 @PostMapping((/information) 이렇게 받아야하나요?


다음으로 수정할때입니다. 수정할대도 마찬가지죠.
해당게시글에 수정버튼을 누르면 수정할 수 있는 form양식을 보여줘야하고.
수정완료를 누르면 또 매핑으로 받아야하죠.

수정버튼을 누르면 -> @GetMapping(/information/edite/{id})
수정완료를 누르면 -> @PutMapping(/information/edite/{id}) 이렇게 받아야 하나요? 아니면
@PutMapping(/information/{id}) 이렇게 받아야 하나요?

애초에 RESTful API라면 URL창에 /information/edite/{id} 이렇게 나오면 원칙에 맞지않는게 아닌가요?
대체 어떻게 글쓰기창이나 수정페이지로 보내줘야하는건지 도저히 갈피가 안잡힙니다.

저는 다오와 dto로만 설계하고 있습니다. 엔티티나 서비스는 아직 공부하지 않았고요.



만약 글 작성하는 jsp가 한곳이라면 이곳에서 게시판 카테고리까지 정해서 서버로 날려주면 안되나요?
가령 이거죠. 1. 정보게시판.  2. 자유게시판 이렇게 있다면

@GetMapping(/{board}/{id}) 이렇게 하면 자원도 절약될것같은데말이죠.. 이게 이러면 모든 URL이 다 이쪽으로 들어오니까 @GetMapping(/{board}/edite/{id}) 중간에 이런 구분자를 줘서 게시판쪽만 처리할 수 있다던가...


진짜 RESTful API이해가안됩니다...



profile_image 익명 작성일 -

글쓰는 페이지로 이동을 왜 매핑시키나요? 그건 프론트엔드에서 알아서 페이지 이동을 시키면 됩니다.

애초에 Restful API를 사용한다는 건 화면을 어떻게 보여줄 지는 프론트엔드가 알아서 하고

백엔드는 데이터만 제공하는 형태로 합니다.

즉 페이지 라우팅은 서버랑 상관없는 영역이 되어야 맞습니다.

CSR(클라이언트 사이드 렌더링) 대신 SSR(서버사이드 렌더링)을 위해서 JSP를 요청해서 화면이 렌더링 되게끔 하려면

단순히 웹 요청을 받아서 화면을 나타내는 JSP가 별도로 있고, Restful API 를 요청맏아서 처리하는 Controller 부분이 따로 있어야 합니다.

API설계 질문드립니다.(스프링부트)

... 많은 인터넷이나 유튜브 강의에서 봤지만 RESTful API에 관련해 상세히... 저는 다오와 dto로만 설계하고 있습니다. 엔티티나 서비스는 아직 공부하지 않았고요....

백엔드 웹 국비 커리큘럼 1 vs 2...

... 관리 스프링 부트 60 시간 모던 웹 애플리케이션 개발 2 RESTful API 독선적인 RESTful API RESTful API 설계 절차 요구 사항 찾기 리소스 식별하기 API 세부 사항...

앱 개발 관련 질문 드립니다.

... 없어서 질문드립니다. 웹을 개발할 때는 인텔리제이 내에서 리액트, 스프링부트로 프론트엔드 ,백엔드개발을... REST API와 같은 백엔드 서비스를 사용하여 데이터를 처리하는...

백엔드 부트캠프

... 질문에 답변드리겠습니다. 컴퓨터분야는... JSP, 스프링프레임워크등을 배우셔야 합니다. 모든 컴퓨터에... 추천드립니다. IT컴퓨터분야에대한 실무취업분야로는...

졸업예정인대 개발자로 취업 준비 어떻게...

... 막막해서 질문드립니다. 제가 해보려고 생각하는... 부트캠프 신청해서 다녀보기 정도가 있는데. 국비... 데이터베이스 설계 및 구축, API 개발 등에 대한 경험이 필요합니다....