Snadné používání rozhraní REST API společnosti Qodly

Automaticky přeloženo z Deepl

Před několika měsíci jsme oznámili, že Qodly Studio je nyní k dispozici všem našim stříbrným partnerům (a vyšším).

Qodly Studio pro 4D je plně integrováno do 4D a umožňuje 4D Serveru hostovat vaši aplikaci s desktopovými i webovými stránkami.

Qodly Studio je také přístupné na Qodly jako součást nově spuštěné nabídky SaaS společnosti 4D. Toto inovativní hybridní low-code řešení je speciálně navrženo pro podnikové aplikace založené na webovém prohlížeči.

I když jste již aplikace na platformě Qodly vytvořili, máme pro vás další dobré zprávy! Nyní můžete s aplikací 4D 20R5 využívat rozhraní REST API aplikace Qodly k bezproblémové práci s vašimi daty.

Čtěte dále a dozvíte se více.

HDI_Qodly_App_REST_API

Hlavní principy

systém rolí a oprávnění

Tato funkce se opírá o mechanismus klíčů API vázaný na systém rolí a oprávnění dodaný v produktu 4D 19 R8. Jedná se o výkonný a plně přizpůsobitelný systém ochrany dat před neoprávněnými uživateli. Přístup k datům je udělován podle toho, kdo k nim přistupuje a k jakým datům přistupuje. To se provádí nastavením rolí.

Než začnete, získejte základní znalosti o této funkci.

manipulace s klíči API na ovládacím panelu qodly

Na ovládacím panelu Qodly je uvedena adresa URL koncového bodu pro přístup REST.

Můžete také vygenerovat klíč API a přiřadit jej k roli. Tento klíč API poskytuje přístup REST k datům vystaveným v aplikaci Qodly a umožňuje spouštět všechny akce povolené pro přidruženou roli.

Podívejte se také do dokumentace Qodly, kde se dozvíte další funkce související s klíči API (nastavení data platnosti, autorizace některých klientských IP adres, … atd.)

Použití rozhraní REST API aplikace Qodly

Na rozhraní REST API aplikace Qodly se můžete zaměřit z:

  • aplikace 4D Serveru (pomocí příkazu Open datastore nebo třídy HTTPRequest ).
  • libovolné aplikace třetí strany podporující požadavky REST

scénář

Uvažujme aplikaci Qodly, která spravuje produkty a vystavuje datovou třídu produktu. Aplikace 4D Serveru(Factory) potřebuje ke čtení nebo vytváření produktů použít rozhraní REST API. Aplikace Qodly Products je zabezpečena proti neoprávněnému přístupu prostřednictvím systému rolí a oprávnění.

příprava přístupu k rest API

Nejprve nastavte role, které mají právo provádět konkrétní akce s definovanými daty, pomocí rozhraní Role a oprávnění v aplikaci Qodly Studio.

blank

Čtení datové třídy produktu je povoleno roli Zaměstnanec díky úrovni oprávnění„jednoduchý„, kterou disponuje.

blank

blank

Abychom klientské aplikaci umožnili používat rozhraní REST API aplikace Produkty Qodly, vygenerovali jsme na ovládacím panelu Qodly Products klíč API spojený s rolí Zaměstnanec:

blank

použití rest API aplikace qodly Products v aplikaci 4D Server pomocí příkazu open datastore

V klientské aplikaci 4D Server(Factory) musí být zobrazen seznam produktů.

Zde je kód 4D:

Form.products:=ds.getProducts("Employee")

A zde je třída DataStore:

Class extends DataStoreImplementation

exposed Function getProductsDatastore($apiKey : Text; $id : Text) : 4D.DataStoreImplementation
	
        //End point URL given on the Qodly dashboard 
	var $connect : Object:={hostname: "https://xxx-yyyyyyyy-zzzz-xxxx-yyyy-zzzzzzzzzzzz.xx-yyy.acme.com"; tls: True}
	var $theRemoteDS : 4D.DataStoreImplementation
	
	$connect["api-key"]:=$apiKey
	
	$theRemoteDS:=Open datastore($connect; $id)
	return $theRemoteDS
	
exposed Function getProducts($role : Text) : 4D.EntitySelection
	
	var $apiKey : Text
	var $theRemoteDS : 4D.DataStoreImplementation
	
	$apiKey:="82c0abfe-0628-4446-b890-9add5509335c"
	
	$theRemoteDS:=This.getProductsDatastore($apiKey; $role)
	
	return $theRemoteDS.product.all()

Ve funkci getProducts() použijeme klíč API odpovídající roli Zaměstnanec.
Díky funkci getProductsDatastore() získáme objekt datového skladu odpovídající aplikaci Products Qodly. Na této instanci Products se otevře relace. Ta obsahuje oprávnění role Employee.

S tímto objektem datového skladu tedy můžeme spouštět všechny akce povolené pro roli Zaměstnanec.

Poznámka:
– klíč API musí být zadán pouze jednou (jako vlastnost „api-key “ v objektu connect) při volání příkazu Open datastore.
– jako název hostitele se použije adresa URL koncového bodu uvedená na panelu Qodly instance Products.
pro rychlé pochopení jsme v kódu použili klíč API jako pevně zadanou hodnotu. Z bezpečnostních důvodů by měl být v externě chráněném souboru (ne synchronizovaném například na GitHubu).

Zde je výsledek aplikace 4D Server:

blank

Z libovolné aplikace používající požadavky REST

Níže uvedený příklad ukazuje, jak pomocí aplikace Postman spustit požadavky REST cílené na rozhraní REST API aplikace Qodly. Přiložené HDI také ukazuje, jak takové požadavky spustit pomocí třídy HTTPRequest, JavaScriptu nebo jiných technologií.

Všimněte si, že klíč API musí být předán v hlavičce „api-key “ pro každý požadavek REST.

blank

Výše uvedené příklady obsahují některá čtení dat, ale pomocí rozhraní REST API můžete data také vytvářet, aktualizovat nebo mazat.

Další informace

Podívejte se na přiložené video, kde najdete kompletní příklad od vytvoření demonstrační verze sandboxu na Qodly až po použití rozhraní REST API.

Navštivte webové stránky Qodly, kde se dozvíte více a budete informováni o nových funkcích!

Avatar
• Product Owner • Marie-Sophie Landrieu-Yvert se připojila k programovému týmu 4D jako Product Owner v roce 2017. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Marie-Sophie vystudovala inženýrskou školu ESIGELEC a svou kariéru zahájila jako inženýrka v IBM v roce 1995. Podílela se na různých projektech (projekty údržby nebo výstavby) a pracovala jako vývojářka Cobol. Poté pracovala jako UML designer a Java developer. V poslední době byly jejími hlavními rolí analyzovat a psát funkčních požadavky a koordinovat obchodní a vývojové týmy.