2014-10-13 5 views
1

저는 REST API를 처음 사용했습니다. 나는 온라인 게임을위한 다음 API 내 문제는 내가 POST를 사용하여 게임을 만들려고 할 때, 나는 userId를이 API로 전송하려는 지금
POST API에 매개 변수 전달

GET domain/api/games // return all games 
POST domain/api/games // create a new game on behalf of current user 

을 재생 만들려고했다. 어떻게해야할지 모르겠습니다. 또한 내가

GET domain/api/games/{gameId} 

같은 다른 가져 오기 개별 게임의 세부 사항을 얻을 수있는 API, 무언가를 가지고 있습니다 그래서 나는 그것이 API 위의 것이다 충돌하므로 도메인/API/게임/{useID}처럼 POST하는 사용자 ID 전달할 수 없습니다.
그래서 usedId를 POST에 전달합니다. 또한 쿼리 매개 변수를 사용하고 싶지 않습니다. 이것에 대한 제안은 훌륭 할 것입니다.

답변

0

서비스에 POST를 수행 할 때 통신하는 매개 변수는 BODY 매개 변수로 알려져 있으며 쿼리 문자열에는 적용되지 않습니다.

다른 기술은 POST의 PARAMS와의 상호 작용에 대해 서로 다른 API를 가지고 있지만, 기본 이론은 동일하며,

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

POST의 PARAMS을 사용하는 방법의 세부 사항을 따라 달라집니다 표준 W3C HTTP에 의해 설명되어 있습니다 사용중인 언어와 기술에 대해 예를 들어 jquery를 사용하는 경우 $ .post ('url', data, callback) 메서드 또는 $ .ajax (...) 옵션을 사용하여 여러 가지 방법으로 작업 할 수 있습니다.

http://api.jquery.com/jquery.ajax/

서버에 POST의 PARAMS를 읽고

http://api.jquery.com/jquery.post/

, 당신은 액세스 당신을 위해 메모리에 매개 변수를 저장합니다 요청 개체의 일부 어떤 종류를 사용하여 액세스 일반적으로 수 있습니다. 이것은 당신이 사용하고있는 언어와 프레임 워크의 크게 의존하지만, 여기에 몇 가지 일반적인 것들에 대한 링크입니다 :

NodeJS/표현 : http://expressjs.com/4x/api.html#request

PHP : http://php.net/manual/en/reserved.variables.post.php

ASP.Net : http://msdn.microsoft.com/en-us/library/system.web.httprequest.params(v=vs.110).aspx

자바/스프링 : https://spring.io/guides/gs/handling-form-submission/

+0

나는 POST API에 양식 게시를 사용하고 백엔드 로직에서 usedId를 포함하는 양식 데이터를 처리 할 수 ​​있다는 제안에 따라 Java를 사용하고 있습니다. 권리? – Sandeep

+2

표준 양식 인 POST보다는 ajax 요청을 사용하는 것이 가장 좋습니다.

를 사용하면 웹 응용 프로그램은 웹 페이지가 아닌 사용자에게 API 호출의 결과를 표시합니다. API에 데이터를 보내고 응답 코드를 다시 가져 와서 동적으로 UI를 업데이트하기 위해 일종의 Ajax 요청을 사용해야 할 것이다. 표준 HTML POST를 API에 사용하려는 상황을 생각할 수 없습니다. –

0

컨텍스트 (헤더를 통해 전달할 수 있음) 또는 게임 개체의 일부 여야합니다. 내가 컨텍스트 옵션을 선호하는 경우, httpheader는 토큰을 통해 백엔드에서 사용자를 알아낼 수 있도록 일부 인증 베어러 토큰을 포함 할 수 있습니다.