[AEM Forms]{class="badge positive" title="van toepassing op AEM Forms)."}
Externe API's integreren met Visual Rule Editor in Core Component Forms
De visuele Redacteur van de Regel in een AanpassingsVorm steunt de Invoke eigenschap van de Dienst, toelatend u om met externe APIs door de Modellen van de Gegevens van de Vorm (FDM) te verbinden die voor uw instantie wordt gevormd. U kunt formuliervelden rechtstreeks toewijzen aan de invoerparameters van de service en de optie voor gebeurtenislading gebruiken om de uitvoerparameters toe te wijzen. De visuele Redacteur van de Regel laat u ook regels voor succes en mislukkingsmanagers bepalen die op de reactie van de dienst worden gebaseerd: de succesvolle handlers behandelen succesvolle API vraag, terwijl de mislukkingsmanagers fouten beheren.
Zo kunt u gemakkelijk API-aanvragen van uw formulier verzenden, de API-reacties verwerken en de geretourneerde gegevens dynamisch weergeven of gebruiken in het formulier. Dit zorgt voor een naadloze integratie tussen uw adaptieve formulier en externe systemen of gegevensbronnen.
Voordelen om de Invoke Service in de de regelredacteur van de vorm te gebruiken
Hier zijn weinig voordelen om de verrichting van de Dienst van de Invoke in de regelredacteur van een Vorm Adaotive te gebruiken:
-
Gestroomlijnde API integratie: De visuele Redacteur van de Regel vereenvoudigt het proces om de externe diensten of APIs in uw Aangepaste Forms te integreren. Door de Invoke Dienst te gebruiken, kunt u vormen aan diverse gegevensbronnen en de diensten zonder de behoefte aan complexe codering gemakkelijk verbinden, die vormintegratie efficiënter maken.
-
Dynamische reactie behandeling: U kunt succes en foutenreacties beheren die op de outputreacties van de worden gebaseerd roepen Dienst, toestaand vormen om dynamisch op verschillende scenario's te reageren. Het zorgt ervoor dat formulieren op de juiste wijze omgaan met verschillende omstandigheden, waardoor de flexibiliteit en de controle worden verbeterd.
-
Verbeterde gebruikersinteractie: Het gebruiken van de roept Dienst in de regelredacteur toe laat bevestiging in real time binnen uw vormen toe, die een betere gebruikerservaring verstrekken. Het zorgt er ook voor dat gegevens correct worden gevalideerd aan de serverzijde, waardoor fouten worden verminderd en de betrouwbaarheid van formulieren wordt verbeterd.
De managers van de Dienst van de Vraag voor succes en mislukkingsreacties
De visuele regelredacteur staat u toe om regels voor succes en mislukkingsmanagers voor tot stand te brengen de verrichtingen van de Dienst aanhalen die op zijn outputreacties worden gebaseerd. Onder beeld toont de Invoke Dienst in Visuele regelredacteur voor een Aanpassende Vorm:
Succeshandler en fouthandler toevoegen
Als u een geluids- of fouthandler wilt toevoegen, klikt u respectievelijk op Add Success Handler of Add Failure Handler .
Wanneer u Add Success Handler klikt, verschijnt de Invoke Service Success Handler regelredacteur, toestaand u om regels of logica te specificeren om de te beheren aanhaalt de 3} outputreactie van de Dienst {wanneer de verrichting succesvol is. U kunt zelfs regels opgeven zonder voorwaarden te definiëren. U kunt echter voorwaarden voor de succeshandler toevoegen door op de optie Add Condition te klikken.
U kunt veelvoudige regels toevoegen om succesvolle reacties voor de te behandelen roept de verrichting van de Dienst aan:
Op dezelfde manier kunt u regels toevoegen om te behandelen roept de uitvoerreactie van de Dienst aan wanneer de verrichting niet succesvol is. In de onderstaande afbeelding wordt de regeleditor van Invoke Service Failure Handler weergegeven:
U kunt veelvoudige regels ook toevoegen om mislukte reacties van de te behandelen roept de verrichting van de Dienst.
De laat de Bevestiging van de Fout op de eigenschap van de Server toe bevestigen die door de auteur worden toegevoegd terwijl het ontwerpen van een Aangepast Vorm om op de server ook te lopen.
Vereisten om de Invoke Dienst in de regelredacteur te gebruiken
Hieronder zijn de eerste vereisten u moet bevredigen alvorens de Dienst in de regelredacteur te gebruiken aanhaalt:
- Zorg ervoor u een gegevensbron hebt gevormd. Voor instructies bij het vormen van een gegevensbron, klik hier .
- Maak een formuliergegevensmodel met de geconfigureerde gegevensbron. Voor begeleiding bij het creëren van een Model van de Gegevens van de Vorm, klik hier .
Invoke Service verkennen via verschillende gebruiksgevallen
De Visuele redacteur van de regel roept Dienst aan staat u toe om verscheidene nuttige verrichtingen uit te voeren. U kunt het gebruiken om dropdown opties te bevolken, herhaalbare of eenvoudige panelen te plaatsen, en vormgebieden te bevestigen, allen gebaseerd op de outputreactie van de Invoke Dienst. Zo vergroot u de flexibiliteit en interactiviteit van uw formulieren.
De lijst beschrijft hieronder een paar scenario's waarin de Invoke Dienst kan worden gebruikt:
Maak een Get Information -formulier waarmee waarden worden opgehaald op basis van de invoer die u hebt ingevoerd in het tekstvak Pet ID . In de onderstaande schermafbeelding ziet u het formulier dat in deze gevallen wordt gebruikt:
Gebieden van de Vorm
Voeg de volgende velden toe aan het formulier:
-
ga Huisdier identiteitskaart in: TextBox
-
Uitgezochte Foto URLs: Dropdown
-
Markeringen: Comité
- Naam: TextBox
- ID: TextBox
-
Categorie: Comité
- Naam: TextBox
-
legt voor: leg knoop voor
het Vormen panelen
Stel de deelvensters als herhalend in met de volgende beperkingen:
- Minimumwaarde: 1
- Maximumwaarde: 4
U kunt de waarden van de herhalende deelvensters aanpassen aan uw wensen.
Gegevensbron
In dit voorbeeld, wordt de Benzine van de Wagger API gebruikt om een gegevensbron te vormen. Het Model van de Gegevens van de Vorm wordt gevormd voor de getPetById dienst, die huisdetails terugwint die op ingegane identiteitskaart worden gebaseerd.
Laat het volgende JSON posten gebruikend de addPet dienst in de Benzine van de Wagger API:
{
"id": 101,
"category": {
"id": 1,
"name": "Labrador"
},
"name": "Lisa",
"photoUrls": [
"https://example.com/photos/lisa1.jpg",
"https://example.com/photos/lisa2.jpg"
],
"tags": [
{
"id": 1,
"name": "vaccinated"
},
{
"id": 2,
"name": "friendly"
},
{
"id": 3,
"name": "house-trained"
}
],
"status": "available"
}
De regels en de logica worden uitgevoerd gebruikend roepen de actie van de Dienst in de regelredacteur op Pet ID textbox om de vermelde gebruiksgevallen aan te tonen.
Laten we nu de implementatie van elk gebruiksgeval in detail onderzoeken.
Gebruik Geval 1: bevolk dropdown waarden gebruikend de output van de Dienst van Invoke
In dit geval wordt getoond hoe u de meerkeuzeopties dynamisch kunt vullen op basis van de uitvoer van een Invoke Service .
Implementatie
Hiertoe maakt u een regel in het tekstvak Pet ID om de service getPetById aan te roepen. Stel in de regel de eigenschap enum van de photo-url dropdown in op photoUrls in Add Success Handler .
Uitvoer
Typ 101 in het tekstvak Pet ID om de vervolgkeuzemogelijkheden dynamisch te vullen op basis van de ingevoerde waarde.
Hoofdlettergebruik 2: stel een herhaalbaar deelvenster in met uitvoer van Invoke Service
Dit gebruiksgeval toont aan hoe te om herhaalbare panelen dynamisch te bevolken die op de output van een worden gebaseerd de Dienst van de Invoke.
Overwegingen
- Verzeker de naam van het herhaalbare paneel past de parameter van de Invoke Dienst aan waarvoor u het paneel wilt plaatsen.
- Het paneel herhaalt voor het aantal waarden die door het overeenkomstige zijn teruggekeerd roept de Dienst gebied van de Dienst.
Implementatie
Maak een regel in het tekstvak Pet ID om de service getPetById aan te roepen. Voeg in Add Success Handler nog een succeshandlerreactie toe. Stel de waarde van het deelvenster tags in op tags in de regel.
Uitvoer
Typ 101 in het tekstvak Pet ID om het herhaalbare deelvenster dynamisch te vullen op basis van de invoerwaarde.
Hoofdlettergebruik 3: deelvenster instellen met uitvoer van Invoke Service
Dit gebruiksgeval toont aan hoe te om de waarde van een paneel dynamisch te plaatsen dat op de output van wordt gebaseerd roept Dienst aan.
Overwegingen
- Verzeker de naam van het paneel de parameter van de haalt Dienst aan waarvoor u het paneel wilt plaatsen.
- Het deelvenster wordt herhaald voor het aantal waarden dat wordt geretourneerd door het overeenkomstige veld Invoke Service.
Implementatie
Maak een regel in het tekstvak Pet ID om de service getPetById aan te roepen. Voeg in Add Success Handler nog een succeshandlerreactie toe. Stel de waarde van het tekstvak categoryname in op category.name in de regel.
Uitvoer
Typ 101 in het tekstvak Pet ID om het deelvenster dynamisch te vullen op basis van de invoerwaarde.
Hoofdlettergebruik 4: Gebruik uitvoerparameter van Invoke Service om andere velden te valideren
Dit gebruiksgeval toont aan hoe te om de output van te gebruiken roept de Dienst aan om andere vormgebieden dynamisch te bevestigen.
Implementatie
Maak een regel in het tekstvak Pet ID om de service getPetById aan te roepen. Voeg in Add Failure Handler een antwoord van de mislukkingshandler toe. Verberg voorleggen knoop als onjuist Pet ID is ingegaan.
Uitvoer
Ga 102 in het Pet ID tekstvakje in, en voorleggen knoop is verborgen.
Hoofdlettergebruik 5: gebruik Event Payload in Navigeer naar de handeling in Invoke Service
Dit gebruiksgeval toont aan hoe te om een regel op te vormen voorlegt knoop die roept de Invoke Dienst en richt dan de gebruiker aan een andere pagina opnieuw gebruikend aan actie navigeren.
Implementatie
Creeer een regel op voorleggen knoop om de redirect-api API dienst aan te halen. Deze dienst is verantwoordelijk voor het opnieuw richten van de gebruiker aan de vorm van het Contact van ons.
U kunt een API rechtstreeks als de API-service redirect-api integreren in de Rule Editor met behulp van de JSON-gegevens die hieronder worden vermeld:
{
"id": "1",
"path": "/content/dam/formsanddocuments/contact-detail/jcr:content?wcmmode=disabled"
}
In Add Success Handler, vorm navigeer aan actie om de gebruiker aan de pagina van het Contact van het Contact opnieuw te richten gebruikend de Event Payload parameter. Hier kan de gebruiker zijn contactgegevens verzenden.
Naar keuze, vorm een mislukkingsmanager om een foutenmelding te tonen als de de dienstvraag ontbreekt.
Uitvoer
Wanneer voorlegt knoop wordt geklikt, wordt de redirect-api API dienst aangehaald. Op succes, wordt de gebruiker opnieuw gericht aan de pagina van het Contact van ons.
Eigenschapswaarden ophalen uit een JSON-array
Dit is een functie voor vroege adoptie. Als u geïnteresseerd bent, stuurt u een e-mail van uw werkadres naar mailto :aem-forms-ea@adobe.com om toegang tot de functie te vragen .
Adaptieve Forms ondersteunt het aanroepen van een service, het verwerken van JSON-reacties en het dynamisch invullen van formuliervelden. In deze sectie wordt beschreven hoe u eigenschapswaarden uit een JSON-array kunt extraheren en deze aan formuliervelden kunt binden.
Voorbeeld-JSON-reactie
In het volgende voorbeeld worden Amerikaanse verkoopgebieden en een lijst met verkoopvertegenwoordigers weergegeven:
[
{
"region": "East",
"salesPerson": "Emily Carter"
},
{
"region": "South",
"salesPerson": "Michael Brown"
},
{
"region": "Midwest",
"salesPerson": "Sophia Martinez"
},
{
"region": "Southwest",
"salesPerson": "David Johnson"
},
{
"region": "West",
"salesPerson": "Linda Walker"
}
]
Aangepaste functie om eigenschapswaarden te extraheren
Gebruik de volgende aangepaste functie om eigenschapswaarden uit de JSON-array te extraheren.
/**
* Returns an array of values for a specific property from an array of objects.
*
* @name getPropertyValues
* @param {Object[]} jsonArray An array of objects
* @param {string} propertyName The property whose values should be extracted
* @returns {Array} An array containing the values of the specified property
*
*/
function getPropertyValues(jsonArray, propertyName)
{
return jsonArray.map((obj) => obj[propertyName]);
}
De aangepaste functie accepteert:
- jsonArray: JSON serie die van de dienst is teruggekeerd
- propertyName: Bezit om waarde te halen
De aangepaste functie retourneert een eenvoudige array met waarden.
De functie gebruiken in de regeleditor
De specifieke waarde ophalen uit de JSON-array:
event.payload.invokeServiceResponse.rawPayloadBody
In het volgende voorbeeld ziet u hoe u een Sales Department -formulier invult met dit antwoord.
Laten we bijvoorbeeld een Sales Department -formulier maken dat de vervolgkeuzelijsten Select Region en Select Sales Representative bevat.
Stap 1: Roep de dienst op vorminitialisering aan
WHEN
Form is initialized
THEN
Invoke Service → salesdeptinfo
Stap 2: Vul dropdown Regio
Voeg een Handler van het Succes voor de de dienstvraag toe en vorm de volgende actie:
Set enum → Region dropdown
getPropertyValues(
event.payload.invokeServiceResponse.rawPayloadBody,
"region"
)
Deze regel leest de JSON-array, extraheert de eigenschapswaarden van region en wijst de waarden toe aan het Select Region dropdown-object.
Op dezelfde manier vorm de actie voor Select Sales Representative dropdown in de Handler van het Succes.
Wanneer het formulier wordt geladen, worden de JSON-gegevens geretourneerd en extraheert de aangepaste functie eigenschapswaarden en wordt het vervolgkeuzemenu automatisch gevuld:
Veelgestelde vragen
Q: Wat gebeurt als ik een regel gebruikend de Invoke Dienst en dan verbetering aan de recentste versie van de kerncomponenten heb gecreeerd?
A: wanneer u aan de recentste versie van de kerncomponenten bevordert, roept de regel van de Dienst automatisch aan het recentste gebruikersinterface op, aangezien het achterwaarts compatibel is.
Q: Kan ik veelvoudige regels toevoegen om succesvolle of mislukkingsreacties voor de Invoke verrichting van de Dienst te behandelen?
A: ja, kunt u veelvoudige regels toevoegen om succesvolle of mislukkingsreacties voor de te behandelen aanhaalt de verrichting van de Dienst.
Verwante artikelen
Aanvullende bronnen
- Inleiding aan de Redacteur van de Regel voor AanpassingsForms die op de Componenten van de Kern wordt gebaseerd
- De types en de gebeurtenissen van de exploitant in regelredacteur van een Adaptief Vorm die op de Componenten van de Kern wordt gebaseerd
- De Redacteur van de regel Gebruikersinterface voor Adaptieve Forms die op de Componenten van de Kern wordt gebaseerd
- Verschillende gevallen van gebruik van de Rule Editor voor een adaptief formulier op basis van kerncomponenten
- Verschil in verschillende versies van de redacteur van de Regel
- Asynchrone functies in een adaptief formulier gebruiken
- De verhogingen van de Dienst van de aanwending in de Visuele Redacteur van de Regel voor vormen die op de Componenten van de Kern worden gebaseerd
- Inleiding tot aangepaste functies voor adaptieve Forms op basis van kerncomponenten
- Een aangepaste functie maken voor een adaptief formulier op basis van kerncomponenten
- Object Scope in aangepaste functies
- Voorbeelden van het ontwikkelen en gebruiken van een aangepaste functie