Delphi Can

Orjinalini görmek için tıklayınız: REST Debugger Uygulamsı
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
Merhaba;
Delphi ve C ++ Builder için RESTful Web Servis uygulamalarında hata ayıklama işlemleri için kullanabileceğiniz, Embarcadero tarafından ücretsiz olarak dağıtılan REST Debugger uygulamasını aşağıdaki linkten indirebilirsiniz.

2ih8nr7.jpg


REST Debugger
bir an foruma restapi geldi sandım Smile
(12-08-2016, Saat: 16:40)yhackup Adlı Kullanıcıdan Alıntı: [ -> ]bir an foruma restapi geldi sandım Smile

O da olur İnşaallah  Sleepy
Yukarıda anlatılanlar ışığında , token alma işlemi yapabiliyorum, buraya kadar çok güzel anlatım olmuş.
Merak ettiğim, token alma işlemiyle birlikte, OUTH2 sınıfında işlem nasıl yapabiliriz.

10.2 tokyo de, restdebugger kullanıyorum.

Netsis tarafında işlemler tümüyle C# tarafında yürüyor.
Ben UniGui tarafında yazılım yaparak, Webservis C# xml oluşturarak, bilgi gönderimi POST işlemlerimi yapıyorum.
Tamamen Delphi UniGui tarafında işlem yaparak zaman tasarrufu sağlamak çabam.


temel base http://localhost:7070 iken,
api/v2/token ile token işlemi yapıldıktan sonra, cari de işlem yapabilmek için, api/v2/ARPs , resource işlemi nasıl uygulanabilir.

Yardımcı olurmusunuz !
(12-08-2016, Saat: 16:40)yhackup Adlı Kullanıcıdan Alıntı: [ -> ]bir an foruma restapi geldi sandım Smile

Smile
@epikbalad Benim yaptığım projelerin %99 u netsis ile ilgili sanırım sen netsisin REST Netopenx ile ilgili bilgi istiyorsun. Bununla ilgili bir projem olmadı ama deneme yapmıştım. Bu kodlar inşallah işine yarar. 

Konuyu yanlışda anlamış olabilirim.


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//şirket Bilgisi
procedure TForm1.GetResponse(aURL: string; memstr: TMemoryStream);
begin
 if (aURL <> '') and (memstr <> nil) then
 begin
   NetHTTPRequest1.Get(aURL, memstr);
 end;
end;

function TForm1.GetRespString(aURL: string): string;
var strstr: TStringStream;
begin
 strstr := TStringStream.Create;
 try
   GetResponse(aURL, strstr);
   Result := strstr.DataString;
 finally
   strstr.Free;
 end;
end;


procedure TForm1.Button2Click(Sender: TObject);
VAR
X: ISuperObject;
begin
Memo1.Lines.Text:=GetRespString('http://192.168.1.13:7070/api/v2/public/AuthorizedBranches?company=DEMO&username=NETSIS');
 X := SO(memo1.Text);
 edit2.text:= X['"SubeKodu"'].AsString;
 edit3.text:= X['"SubeIsmi"'].AsString;
end;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//token alma
procedure TForm1.Button1Click(Sender: TObject);
var
X: ISuperObject;
PostData: TStringList;
rta: string;
IdHTTP1: TIdHTTP;
begin
 PostData := TStringList.Create;
 try
   PostData.Add('grant_type=password');
   PostData.Add('branchcode=0');
   PostData.Add('password=net1');
   PostData.Add('username=NETSIS');
   PostData.Add('dbname=DEMO');
   PostData.Add('dbuser=TEMELSET');
   PostData.Add('dbpassword=');
   PostData.Add('dbtype=0');
   IdHTTP1:=TIdHTTP.Create(nil);
   IdHTTP1.Request.Referer := 'http://192.168.1.13:7070/api/v2/token';
   rta := IdHTTP1.Post('http://192.168.1.13:7070/api/v2/token', PostData);
 finally
   PostData.Free;
   FreeAndNil(IdHTTP1);
 end;
 Memo1.Lines.Text := rta;
 X := SO(memo1.Text);
 MEMO2.Lines.Clear;
 Memo2.Lines.Text:= 'Authorization=Bearer ' + X['"access_token"'].AsString;
 edit3.text:= X['"refresh_token"'].AsString;//token
end;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//cari bilgisi
function TForm1.DoHttpRequest(const AMethod, AResource: string;    AHeaders: TStrings; ARequestBody: TStream = nil): string;
var
 LURL, LName: string;
 LHeader: TNetHeader;
 LHeaders: TNetHeaders;
 LResponse: IHTTPResponse;
 LIndex: Integer;
 strstr: TStringStream;
begin
 strstr := TStringStream.Create;
LURL:='http://192.168.1.13:7070/api/v2/ARPS?limit=0&offset=0&sort=CARI_KOD AS';
for LIndex := 0 to AHeaders.Count - 1 do
begin
LName := AHeaders.Names[LIndex];
LHeader := TNetHeader.Create(LName, AHeaders.Values[LName]);
LHeaders := LHeaders + [LHeader];
end;
if AMethod = sHTTPMethodGet then
LResponse := NetHTTPRequest1.Get(LURL, nil,LHeaders)
else if AMethod = sHTTPMethodPost then
LResponse := httpRequest.Post(LURL, ARequestBody, nil, LHeaders);
Result := LResponse.ContentAsString();
MEMO1.Lines.Add('Operation done......');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
LJSON: TJSONValue;
LRes: string;
begin
MEMO1.Lines.Add('Getting Private Resource (auth required)');
LRes := DoHttpRequest(sHTTPMethodGet, '', MEMO2.Lines); // yukarıdaki memo2  Memo2.Lines.Text:= 'Authorization=Bearer ' + X['"access_token"'].AsString;
LJSON := TJSONObject.ParseJSONValue(LRes);
 try
 MEMO1.Lines.Text := TJson.Format(LJSON);
 finally
 LJSON.Free;
end;
end;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Güzel bir örnek olmuş, teşekkürler.
Cari liste için, token alıp,alınan token gönderimde hata alınıyor.
bu işlem ve kayıt gönderimi için örnek varmıdır.
(15-05-2018, Saat: 16:41)epikbalad Adlı Kullanıcıdan Alıntı: [ -> ]Güzel bir örnek olmuş, teşekkürler.
Cari liste için, token alıp,alınan token  gönderimde hata alınıyor.
bu işlem ve kayıt gönderimi için örnek varmıdır.

@epikbalad Gönderdiğim örneklerde ben hata almıyorum. Sana şöyle bir örnek göndereyim 
  1. Token Alma
  2. Cari Bilgisi
  3. Fatura Kaydetme

Bu işlemler için Bilgisayarında Netsis,Netopenx Lisans ve NetopenxREST Kurulu olması gerekli.

NetopenxREST Manager dan çalıştığın bilgisayarın ip adresini programın içindeki Tanımlar kısmına tanımlaman gerekiyor.
Eğer hala hata alıyorsan hata görüntüsünü bur da paylaşır mısın?

Dosya
(12-08-2016, Saat: 18:20)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]
(12-08-2016, Saat: 16:40)yhackup Adlı Kullanıcıdan Alıntı: [ -> ]bir an foruma restapi geldi sandım Smile

O da olur İnşaallah  Sleepy

 Hemen yazalım  Smile Bu aralar PHP kafa sardım ve REST API konusunda POST GET gibi olaylar hakkında bilgi sahibi oldum biraz. İsterseniz yardımcı olabilirim ama 1 ay sonra sınavı atlattıktan hemen sonra  Angel
Merhaba,

Bir gelişme oldu mu ? Smile
Sayfalar: 1 2