자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi Rest 클라이언트 Post 방법 재질문 합니다.
2017.04.04 07:50
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
Rest debugger 를 이용해 Get 하여 Respones의 CONTENT 를 확인 하는 방법으로 웹소스 얻어오는건 이해를 대충은 하였는데.
Post의 경우는 어떻게 해야하나요?
Winhttp 를 예를들어 www.naver.com 이 주소를 Get 한뒤
www.naver.com/login 에 {hihello} 이렇게 Post 를 했었는데
Rest 클라이언트에서는 어떻게 해야할지 감이 안오네요.
댓글 5
-
험프리
2017.04.05 09:37
-
루피
2017.04.05 23:39
RESTRequest1.Method := rmPOST; 줄에서 오류도 나고
RESTRequest1.Body 라는것도 존재하지가 않는거같네요.
idhttp 를 사용한다고 가정하면
Idhttp.Get 사용후
Idhttp.Post 로 정보를 보내는데 Rest Client 에선 자세히 어떻게 해야하는지요 ?
-
제트콜
2017.04.06 14:42
var
FRestClient : TRestClient;
FRestRequest : TRestRequest;
FRestResponse : TRestResponse;
aParam : TRESTRequestParameter;
jsonObj : TJSONObject;
begin
...
FRestRequest.Client := FRestClient;
FRestRequest.Response := FRestResponse;
jsonObj.AddPair( TJSONPair.Create ('id', '1111'));
FRestClient.BaseURL := 'www.naver.com';
FRestClient.Accept := 'application/json';
FRestClient.ContentType := 'application/json';
FRestRequest.Resource := '/';
FRestRequest.ClearBody;
FRestRequest.Params.Clear;
aParam := FRestRequest.Params.AddItem;
aParam.Value := jsonObj.ToString;
aParam.ContentType := ctAPPLICATION_JSON;
FRestRequest.Method := rmPOST;
FRestRequest.Execute;
end;
-
루피
2017.04.06 22:24
TJSONPair.Create ('id', '1111')
이곳이 Post 해줄 정보가 들어가는건가요?
제가 보내 데이터는 {id=04,pw=01} 라는건데 어떻게 보내주면 좋을까요?
-
제트콜
2017.04.17 15:52
jsonObj.AddPair( TJSONPair.Create ('id', '04'));
jsonObj.AddPair( TJSONPair.Create ('pw', '01'));
추천:1 댓글
Delphi Rest 클라이언트 Post 방법 재질문 합니다.
2017.04.04 07:50
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
Rest debugger 를 이용해 Get 하여 Respones의 CONTENT 를 확인 하는 방법으로 웹소스 얻어오는건 이해를 대충은 하였는데.
Post의 경우는 어떻게 해야하나요?
Winhttp 를 예를들어 www.naver.com 이 주소를 Get 한뒤
www.naver.com/login 에 {hihello} 이렇게 Post 를 했었는데
Rest 클라이언트에서는 어떻게 해야할지 감이 안오네요.
댓글 5
-
험프리
2017.04.05 09:37
-
루피
2017.04.05 23:39
RESTRequest1.Method := rmPOST; 줄에서 오류도 나고
RESTRequest1.Body 라는것도 존재하지가 않는거같네요.
idhttp 를 사용한다고 가정하면
Idhttp.Get 사용후
Idhttp.Post 로 정보를 보내는데 Rest Client 에선 자세히 어떻게 해야하는지요 ?
-
제트콜
2017.04.06 14:42
var
FRestClient : TRestClient;
FRestRequest : TRestRequest;
FRestResponse : TRestResponse;
aParam : TRESTRequestParameter;
jsonObj : TJSONObject;
begin
...
FRestRequest.Client := FRestClient;
FRestRequest.Response := FRestResponse;
jsonObj.AddPair( TJSONPair.Create ('id', '1111'));
FRestClient.BaseURL := 'www.naver.com';
FRestClient.Accept := 'application/json';
FRestClient.ContentType := 'application/json';
FRestRequest.Resource := '/';
FRestRequest.ClearBody;
FRestRequest.Params.Clear;
aParam := FRestRequest.Params.AddItem;
aParam.Value := jsonObj.ToString;
aParam.ContentType := ctAPPLICATION_JSON;
FRestRequest.Method := rmPOST;
FRestRequest.Execute;
end; -
루피
2017.04.06 22:24
TJSONPair.Create ('id', '1111')
이곳이 Post 해줄 정보가 들어가는건가요?
제가 보내 데이터는 {id=04,pw=01} 라는건데 어떻게 보내주면 좋을까요?
-
제트콜
2017.04.17 15:52
jsonObj.AddPair( TJSONPair.Create ('id', '04'));
jsonObj.AddPair( TJSONPair.Create ('pw', '01'));추천:1 댓글
RESTClient1.BaseURL := 'www.naver.com';
RESTRequest1.Resource := 'login';
RESTRequest1.Method := rmPOST;
RESTRequest1.Body.ClearBody;
RESTRequest1.Body.Add('{hihello}', ctAPPLICATION_JSON);
RESTRequest1.Execute;
위와 같은 방식으로 처리하면 될 것 같습니다.
잘 안되는 부분은 직접 원인을 찾아서 처리해 보세요.