2014-06-24 6 views
-1

같은 URL을 사용하는 방법은 내가 나머지 API를 설계하기 위해 노력하고, 나는 질문을 특히에 대한 하나의 방법이 있습니다나머지 모범 사례 : 매개 변수

  • 이 방법은 읽기 전용입니다. 그것은 서버 측에서 수정없이 정보를 반환
  • 이 방법은 (명백하게) 멱등 매개 변수는 단지 정보 검색에 사용되기 때문에

, 나는 처음에 유혹 된 콜백 URL을이다의

  • 하나에게있다 GET 동사를 사용

    // The braces are just here to highlight {variables} 
    http://api.com/foo/{someId}/bar/{http://myawesome.com/callbackurl} 
    // Or 
    http://api.com/foo/{someId}/bar?callback={http://myawesome.com/callbackurl} 
    

    을하지만 추한 것 같다. url에는 api의 가시성을 방해 할 수있는 많은 슬래시가 있습니다.

    POST 또는 PUT? 이 콜백 함수에 일부 매개 변수가있는 경우에는 어떻게해야합니까?

    최상의 솔루션은 무엇입니까?

  • +0

    매개 변수를 URL 인코딩하고 추악한 물건이 보이지 않는 것에 대해 걱정하지 마세요. REST API는 미인 대회에 출전 할 필요가 없습니다. :) –

    답변

    1

    URL에 URL을 전달해야하는 경우 query-parameter를 사용하고 URL을 인코딩하십시오. 다음은 Google이 검색 결과의 URL을 URL에 추가하는 방법의 예입니다.

    http://www.google.de/url?...&url=http%3A%2F%2Fstackoverflow.com%2F 
    

    나는 RESTful API를 설계하는 데있어서 못생긴 점이 중요하지 않다고 생각합니다. API가 클라이언트가 클라이언트와 상호 작용하는 것을 돕는 방법이 훨씬 더 중요합니다. 이것은 Google이 여기서하는 일입니다. 그들은 당신에게 URL의 결과를 돌려주고 당신이 사용하는 설명을 통해 결정합니다.

    0

    순수 REST API에 적합하려면 GET 소리가 자연스러운 옵션처럼 들립니다. 당신이 REST의 교리를 배반 살 수 그렇지 않으면, 당신은 보낼 POST를 사용할 수 PARAMS ;-)

    여전히 GET을 사용하려는 경우, 당신은 자신의 매개 변수를 사용하여 문제를 방지 할 수있는 callbackurl를 인코딩해야