1
델파이 2007에서 JS 웹 API를 호출하고 JSON을 반환해야합니다. TRestClient를 사용하여 RAD Studio XE 5에서이 작업을 수행 할 수 있습니다. 델파이 2007 프로그램에서 호출 할 수 있도록 DLL에 넣으려고했습니다. 그러나 성공하지 못했습니다. 델파이 2007을 사용하여 이것을 어떻게 할 수 있습니까? (= TRESTResponse.Create 무기 호 : 여기에 편집델파이 2007에서 ASP 웹 API를 호출하고 JSON을 반환하는 방법
내가 델파이 XE에서 할 노력하고있어 5
class function TSampleApp.Hello(AModel: TModel): Integer;
var
aRestClient: TRESTClient;
aRestRequest: TRESTRequest;
aRestResponse: TRESTResponse;
aParam: TRESTRequestParameter;
jValue: TJSONValue;
jObject: TJSONObject;
begin
Result := -1;
aRestClient := TRESTClient.Create(nil);
try
aRestResponse := TRESTResponse.Create(nil);
try
aRestRequest := TRESTRequest.Create(nil);
try
try
aRestClient.BaseURL := 'http://localhost:49272/api/test';
aRestRequest.Client := aRestClient;
aRestRequest.Response := aRestResponse;
aRestRequest.Method := rmPOST;
aRestRequest.Resource := 'hello';
aParam := aRestRequest.Params.AddItem;
aParam.Kind := pkREQUESTBODY;
aParam.name := 'helloData';
aParam.Value := TJson.ObjectToJsonString(AModel);
aRestRequest.Execute;
jValue := aRestResponse.JSONValue;
jObject := TJSONObject.ParseJSONValue(jValue.ToString) as TJSONObject;
Result := StrToIntDef((jObject.Get('status').JsonValue as TJSONString).Value, -1);
finally
FreeAndNil(jObject);
FreeAndNil(jValue);
end;
finally
FreeAndNil(aRestRequest);
end;
finally
FreeAndNil(aRestResponse);
end;
finally
FreeAndNil(aRestClient);
end;
end;
이 코드는 Win32 응용 프로그램에서 완벽하게 실행되지만 aRestResponse "실패 무엇); " 언제 dll에 넣어.
정확히 무엇을 시도 했습니까? 정확히 당신에게 효과가 없었던 것은 무엇입니까? 도움이 필요한 경우 특정 세부 정보를 제공해야합니다. –
Indy가 잘 작동해야합니다. JSON을 Superobjects Lib 또는 그와 비슷한 것으로 파싱해야합니다. 폼에 TIDHTTP 구성 요소를 놓거나 인스턴스화하십시오. -> str : = TIDHTTP.get (** resturl ***) –
@Remy 늦게 답변을 드려 죄송합니다. 샘플 코드로 내 질문을 업데이트했습니다. – Reynaldi