예를 들어 이 경로는
GET /users/{id}/comments
이제 사용자 페이지에 게시판이 있고 댓글 구성 요소를 사용할 계획이라고 가정해 보겠습니다.
일부 게시물에 사용자가 게시한 답글도 이것을 사용합니다. comment 컴포넌트
데이터베이스 디자인 두 개의 comment 컴포넌트가 동일한 데이터 테이블을 사용하는 경우(다형성 연관)(걱정하지 마세요)
핵심은 이 경로가 서로 상충되는 의미를 갖는다는 것입니다:
표시되는 것은 사용자 메시지 보드입니다(게시자: 기타)
또는 게시물에 사용자의 답글을 표시합니다
그래서 이 문제를 해결하고 Restful 형태로 이 두 경로를 구별하는 방법은 무엇입니까
죄송합니다. 저는 처녀자리입니다. (하지만 이 문제에 대한 최선의 해결책도 찾고 싶습니다.)
사실 이 문제에는 또 다른 시나리오가 있는데, 나를 따르는 사람과 나를 따르는 사람을 어떻게 구별할 수 있느냐는 것입니다.
GET /users/{id}/follows
이 경로는 내가 팔로우하는 사람을 표시하나요, 아니면 나를 팔로우하는 사람을 표시하나요
첫 번째 시나리오에서는 사용자의 게시판이나 게시물이 사용자의 게시판에 있는지 식별할 수 있는 필드가 데이터 테이블에 있어야 한다고 생각합니다. 이 필드를 일시적으로 호출하겠습니다.
type
,所以可以写成GET /users/{id}/comments/{type}
또 다른 시나리오, 매개변수를 사용할 수 있습니다
으아악type
指定是我关注的还是关注我的,可以写作GET /users/{id}/follows/{type}
물론 내가 팔로우하는 것과 나를 팔로우하는 것을 구분하는 또 다른 방법이 있습니다
사용자에게 메시지를 남기는 것과 게시물에 메시지를 남기는 것은 서로 다른 두 가지 리소스를 운영하는 것입니다. 리소스마다 다른 URI를 사용하여 서로 다른 리소스를 운영하는 것은 잘못된 것입니다.
사용자 페이지의 메시지 게시판에서 메시지를 사용할 수 있습니다.
followers are follow me
following is what I am follow
영어 단어 몇 개만 더 알려주세요.
질문하신 분이 이름을 바꾸신 것 같지는 않은데요. 사실 이름을 바꾸는 첫 번째 이유는 문제를 근본적으로 해결할 수 있다는 것이고, 두 번째 이유는 혼란스러운 이름을 사용하면 조만간 문제가 발생할 수 있다는 점입니다.