CI 묻고 답하기

제목 restserver 라이브러리 사용중에 질문이 있습니다.
글쓴이 니삼 작성시각 2015/01/15 04:08:36
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 16523   RSS

예를들어 그룹 이라는 컨트롤러에 두가지 기능이 있습니다.

GET http://xx.com/group
위 기능은 그룹 정보를 반환합니다.

POST http://xx.com/group/invite
위 기능은 사람을 초대 하는 기능입니다.

예를 들어 대강 이런식의 기능을 가지고 있습니다.

그룹 정보를 요청하는 서비스에 파라미터를 넘기려면 CI식(?)으로
GET http://xx.com/group/index/id/1
이런식으로 호출 해야 하는데

여기서 index를 제거 하고 싶습니다.
이런식으로요 .. http://xx.com/group/id/1 가 훨신 직관적이라서 생각해서 그렇습니다.

라우터로 index를 강제로 삽입 하면 다른 부분이 문제고
나머지 기능에 1:1로 대응해서 라우터로 처리하긴 매번 번거로울것 같고

전부 index를 타게하고 거기서 리매핑을 해야할지 좋은 수가 안떠오르내요 비슷한 고민 하신분 계신가 싶어서 질문 남기고 갑니다 (__)

 다음글 음...이건 문법 질문인것같아요...하하하 (5)
 이전글 네이버 스마트 에디터 파일 업로드가 안되요 ㅠ,ㅠ (1)

댓글

변종원(웅파) / 2015/01/15 08:16:21 / 추천 0
index를 안 쓰면 되죠.index 메소드는 웹용입니다. Api는 정해진 주소를 호출해야 하는거라 group/get 이라고 명시하면 되는 겁니다.
니삼 / 2015/01/15 14:07:00 / 추천 0

ㄴ get으로 요청하는대 또 get이라고 명시하면 restful하지 않다고 생각되서 ㅠㅠ

실제로 http://xx.com/group 로 요청해도 문제는 없습니다. 정규 문서에도 index는 사용하고 있는 편이고 http://xx.com/group?id=1 이라도 문제는 없고.. 단지 파라미터를 CI식(?)으로 넘기려면 문제가 생기는거라(당연히 생겨야 하지만).. 흠 다른 방법을 생각해봐야겠내요

변종원(웅파) / 2015/01/15 14:57:31 / 추천 0
구현문제라기 보다는 정책 문제입니다.
웹에서야 컨트롤러명까지 썼을때 에러를 방지하기 위해 index를 사용하는 것이고
api는 기획, 개발단에서 주소가 미리 정해져야 하는 것이라 굳이 index를 쓸 필요가 없다는거죠.

네이밍정책을 잘 세우시면 굳이 고민하실 필요가 없는 문제 같습니다.
니삼 / 2015/01/15 15:01:30 / 추천 0
ㄴ 그렇죠.. 정책문제인건 알지만 ㅜ 네이밍에 하두 골머리 썩어서 질문까지 올리게 됬내요 ..ㅠ
니삼 / 2015/01/15 15:21:15 / 추천 0
라이브러리 고치긴 싫었지만 라이브러리 고쳐서 정책을 스스로 세우는 방향으로 진행해야겠내요 ㅠ
니삼 / 2015/01/15 15:26:33 / 추천 0
이래도 저래도 ci위에서 노니 계속 다른 문제가 발생하는군요 :) gg 네이밍을 좀 잘 세우는 방향으로
변종원(웅파) / 2015/01/15 15:31:01 / 추천 0
저는 api의 경우 개발전에 문서를 먼저 만듭니다.

그 문서에는 공통 에러코드나 필드명 명시하고
api 주소(컨트롤러, 메소드명 명시, 해당 스토리보드 페이지도 명시)와 설명, 파라미터, 파라미터 설명, 리턴값, 리턴값 설명을 먼저 작성하고 그 이후에 개발에 들어갑니다. 
참고하세요. ^^
니삼 / 2015/01/15 15:43:02 / 추천 0
ㄴ 저도 어느정도 그러고 있는데 최대한 restful하게 만들고 싶다는 욕심이 너무 과했던거 같아요