자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
TIdHTTP로 웹서버에 배열로 호출을 할 수 있나요?
2017.01.20 11:10
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
TIdHTTP로 웹서버에 요청을 보내는데요
아래서 요청 입력값 json변수의 값이 json형태로 해서 호출이 정상적으로 이루어 지는데요.
이걸 jsonarray형태로 해서 호출을 하면 bad request라고 메세지가 떨어지는데요.
배열로 호출 자체가 안되는지요??
감사합니다.
json:= '{"mbId":"'+mbId+'","mbName":"'+mbName+'","mbPw":"'+mbPw+'","mbAddr":"'+mbAddr+'"}';
try
DataModule2.HTTP1.Request.ContentType := 'application/json';
DataModule2.HTTP1.Request.Accept := 'application/json';
DataModule2.HTTP1.Request.ContentEncoding := 'utf-8';
DataModule2.HTTP1.Request.CustomHeaders.AddValue('group','GM Korea');
DataModule2.HTTP1.Request.CustomHeaders.AddValue('userId','사용자 계정');
DataModule2.HTTP1.Request.CustomHeaders.AddValue('tocken','tocken value');
JsonToSend := TStringStream.Create(Utf8Encode(Json)); // D2007 and earlier only
try
sResponse := DataModule2.HTTP1.Post('http://localhost:8080/member/selectMemberAll.do', JsonToSend);
except
on E: Exception do
ShowMessage('Error on request: '#13#10 + e.Message);
end;
TIdHTTP로 웹서버에 배열로 호출을 할 수 있나요?
2017.01.20 11:10
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
TIdHTTP로 웹서버에 요청을 보내는데요
아래서 요청 입력값 json변수의 값이 json형태로 해서 호출이 정상적으로 이루어 지는데요.
이걸 jsonarray형태로 해서 호출을 하면 bad request라고 메세지가 떨어지는데요.
배열로 호출 자체가 안되는지요??
감사합니다.
json:= '{"mbId":"'+mbId+'","mbName":"'+mbName+'","mbPw":"'+mbPw+'","mbAddr":"'+mbAddr+'"}';
try
DataModule2.HTTP1.Request.ContentType := 'application/json';
DataModule2.HTTP1.Request.Accept := 'application/json';
DataModule2.HTTP1.Request.ContentEncoding := 'utf-8';
DataModule2.HTTP1.Request.CustomHeaders.AddValue('group','GM Korea');
DataModule2.HTTP1.Request.CustomHeaders.AddValue('userId','사용자 계정');
DataModule2.HTTP1.Request.CustomHeaders.AddValue('tocken','tocken value');
JsonToSend := TStringStream.Create(Utf8Encode(Json)); // D2007 and earlier only
try
sResponse := DataModule2.HTTP1.Post('http://localhost:8080/member/selectMemberAll.do', JsonToSend);
except
on E: Exception do
ShowMessage('Error on request: '#13#10 + e.Message);
end;
자체 해결 했습니다.
해당 건은 델파이 설정의 문제는 아니였구요.
웹서버쪽(자바로 구현) 수신쪽 로직의 문제 였습니다.
해당건 해결 되었습니다.
결론 : TIdHTTP 호출시 JsonArray 행태로도 호출이 가능합니다.