Integrera externa API:er med Visual Rule Editor i Core Component Forms
Visuell regelredigerare i ett adaptivt formulär har stöd för funktionen Anropa tjänst som gör att du kan ansluta till externa API:er via formulärdatamodeller (FDM) som konfigurerats för din instans. Du kan mappa formulärfält direkt till tjänstens indataparametrar och använda händelsens nyttolastalternativ för att mappa utdataparametrarna. Med Visual Rule Editor kan du också definiera regler för hanterare för lyckade och misslyckade åtgärder baserat på tjänstens svar: hanterare för lyckade API-anrop hanterar felhanterare.
På så sätt kan du enkelt skicka API-begäranden från formuläret, bearbeta API-svaren och visa eller använda returnerade data dynamiskt i formuläret. Det säkerställer en sömlös integrering mellan era adaptiva formulär och externa system eller datakällor.
Fördelar med att använda Invoke Service i formulärets regelredigerare
Här är några fördelar med att använda Invoke Service-åtgärden i regelredigeraren för ett tilläggsformulär:
-
Effektiv API-integrering: Visuell regelredigerare förenklar processen att integrera externa tjänster eller API:er i din adaptiva Forms. Genom att använda Invoke Service kan du enkelt koppla formulär till olika datakällor och tjänster utan att behöva komplex kodning, vilket gör att formulärintegreringen blir mer effektiv.
-
Dynamisk svarshantering: Du kan hantera slutförda och felsvar baserat på utdataresvaren i Invoke Service, vilket gör att formulär kan reagera dynamiskt på olika scenarier. Det säkerställer att blanketterna hanterar olika förhållanden på ett korrekt sätt, vilket ger större flexibilitet och kontroll.
-
Förbättrad användarinteraktion: Om du använder Invoke Service i regelredigeraren kan du validera dina formulär i realtid, vilket ger en bättre användarupplevelse. Det säkerställer också att data valideras korrekt på serversidan, vilket minskar antalet fel och förbättrar formulärens tillförlitlighet.
Anropa tjänsthanterare för lyckade och misslyckade åtgärder
Med den visuella regelredigeraren kan du skapa regler för hanterare för lyckade och misslyckade åtgärder för Invoke Service -åtgärder baserat på dess utdataresvar. Nedanstående bild visar Invoke Service i Visual rule editor för ett adaptivt format:
Klicka på Add Success Handler eller Add Failure Handler om du vill lägga till en hanterare för lyckade eller misslyckade åtgärder.
När du klickar på Add Success Handler visas regelredigeraren Invoke Service Success Handler så att du kan ange regler eller logik för att hantera Invoke Service -utdatasvaret när åtgärden har slutförts. Du kan ange regler även utan att definiera villkor, men du kan lägga till villkor för hanteraren av lyckade åtgärder genom att klicka på alternativet Add Condition.
Du kan lägga till flera regler för att hantera lyckade svar för åtgärden Anropa tjänst:
På samma sätt kan du lägga till regler för att hantera Invoke Service -utdataresvaret när åtgärden inte lyckas. Bilden nedan visar regelredigeraren Invoke Service Failure Handler:
Du kan också lägga till flera regler för att hantera misslyckade svar från åtgärden Anropa tjänst.
Funktionen Aktivera felvalidering på servern tillåter validering som lagts till av författaren när ett adaptivt formulär utformas för att köras på servern också.
Krav för att använda Invoke Service i regelredigeraren
Nedan visas de krav du måste uppfylla innan du kan använda Anropa tjänst i regelredigeraren:
- Kontrollera att du har konfigurerat en datakälla. Klicka här om du vill ha anvisningar om hur du konfigurerar en datakälla.
- Skapa en formulärdatamodell med den konfigurerade datakällan. Klicka här om du vill ha hjälp med att skapa en formulärdatamodell.
- Kontrollera att kärnkomponenterna är aktiverade för din miljö. Installera den senaste versionen för att aktivera adaptiva Forms Core-komponenter för din AEM Cloud-tjänstmiljö.
Utforska Invoke Service via olika användningsfall
Med den visuella regelredigerarens Anropa tjänst kan du utföra flera användbara åtgärder. Du kan använda den för att fylla i listrutealternativ, ange repeterbara eller enkla paneler och validera formulärfält, allt baserat på utdatasvaret för Anropa tjänst. Detta gör formulären mer flexibla och interaktiva.
Tabellen nedan beskriver några scenarier där Invoke Service kan användas:
Skapa ett Get Information-formulär som hämtar värden baserat på indata som anges i textrutan Pet ID. Skärmbilden nedan visar det formulär som används i dessa fall:
Formulärfält
Lägg till följande fält i formuläret:
-
Ange husdjurs-ID: Textruta
-
Välj foto-URL:er: Listruta
-
Taggar: Panel
- Namn: Textruta
- ID: Textruta
-
Kategori: Panel
- Namn: Textruta
-
Skicka: Skicka-knapp
Konfigurerar paneler
Ange panelerna som repetitiva med följande begränsningar:
- Minsta värde: 1
- Högsta värde: 4
Du kan justera värdena för de upprepade panelerna så att de passar dina behov.
Datakälla
I det här exemplet används API:t Swagger Petstore för att konfigurera en datakälla. Formulärdatamodellen har konfigurerats för tjänsten getPetById, som hämtar information om djur baserat på det angivna ID:t.
Låt oss publicera följande JSON med tjänsten addPet i Swagger Petstore 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"
}
Regler och logik implementeras med åtgärden Anropa tjänst i regelredigeraren i textrutan Pet ID för att visa de angivna användningsexemplen.
Nu ska vi gå igenom implementeringen av varje användningsfall i detalj.
Användningsfall 1: Fyll i listrutevärden med hjälp av utdata från Invoke Service
Det här användningsexemplet visar hur du fyller i listrutealternativ dynamiskt baserat på utdata för en Invoke Service.
Implementering
För att uppnå detta skapar du en regel i textrutan Pet ID som anropar tjänsten getPetById. I regeln anger du egenskapen enum för listrutan photo-url till photoUrls i Add Success Handler.
Utdata
Ange 101 i textrutan Pet ID för att dynamiskt fylla i listrutealternativen baserat på det angivna värdet.
Användningsfall 2: Ange upprepningsbar panel med utdata från Invoke Service
Det här användningsexemplet visar hur du fyller i repeterbara paneler dynamiskt baserat på utdata från en Invoke Service.
Överväganden
- Kontrollera att namnet på den repeterbara panelen matchar parametern för den Invoke Service som du vill ange panelen för.
- Panelen upprepas för antalet värden som returneras av motsvarande Anropa tjänst-fält.
Implementering
Skapa en regel i textrutan Pet ID för att anropa tjänsten getPetById. I Add Success Handler lägger du till ett annat svar från en hanterare. Ange värdet tags för panelen tags i regeln.
Utdata
Ange 101 i textrutan Pet ID om du vill fylla i den repeterbara panelen dynamiskt baserat på indatavärdet.
Användningsfall 3: Ange panel med utdata från Invoke Service
Det här användningsexemplet visar hur du dynamiskt anger värdet för en panel baserat på utdata från en Invoke Service.
Överväganden
- Kontrollera att panelens namn matchar parametern för den Anropa tjänst som du vill ange panelen för.
- Panelen upprepas för antalet värden som returneras av motsvarande Invoke Service-fält.
Implementering
Skapa en regel i textrutan Pet ID för att anropa tjänsten getPetById. I Add Success Handler lägger du till ett annat svar från en hanterare. Ange värdet categoryname för textrutan category.name i regeln.
Utdata
Ange 101 i textrutan Pet ID för att fylla i panelen dynamiskt baserat på indatavärdet.
Använd fall 4: Använd utdataparametern för Invoke Service för att validera andra fält
Det här användningsexemplet visar hur du använder utdata från en Anropa tjänst för att dynamiskt validera andra formulärfält.
Implementering
Skapa en regel i textrutan Pet ID för att anropa tjänsten getPetById. I Add Failure Handler lägger du till ett felhanterarsvar. Dölj knappen Skicka om en felaktig Pet ID anges.
Utdata
Ange 102 i textrutan Pet ID och knappen Skicka är dold.
Använd fall 5: Använd händelsenyttolast i Navigera till åtgärd i Anropa tjänst
Det här användningsexemplet visar hur du konfigurerar en regel på knappen Skicka som anropar en Invoke Service och sedan dirigerar om användaren till en annan sida med åtgärden Navigera till .
Implementering
Skapa en regel på knappen Skicka för att anropa API-tjänsten redirect-api. Den här tjänsten ansvarar för att dirigera om användaren till formuläret Kontakta oss.
Du kan direkt integrera ett API som API-tjänst för redirect-api i regelredigeraren med JSON-data som anges nedan:
{
"id": "1",
"path": "/content/dam/formsanddocuments/contact-detail/jcr:content?wcmmode=disabled"
}
I Add Success Handler konfigurerar du åtgärden Navigera till så att användaren dirigeras om till sidan Kontakta oss med parametern Event Payload. Här kan användaren skicka sin kontaktinformation.
Du kan också konfigurera en felhanterare så att ett felmeddelande visas om anropet till tjänsten misslyckas.
Utdata
När du klickar på knappen Skicka anropas API-tjänsten redirect-api. Användaren omdirigeras till sidan Kontakta oss när åtgärden har slutförts.
Frågor och svar
F: Vad händer om jag har skapat en regel med Invoke Service och sedan uppgraderar till den senaste versionen av kärnkomponenterna?
A: När du uppgraderar till den senaste versionen av kärnkomponenterna uppdateras regeln Anropa tjänst automatiskt till det senaste användargränssnittet eftersom den är bakåtkompatibel.
F: Kan jag lägga till flera regler för att hantera lyckade eller misslyckade svar för Invoke Service-åtgärden?
S: Ja, du kan lägga till flera regler för att hantera slutförda eller misslyckade svar för åtgärden Anropa tjänst.
Relaterade artiklar
Ytterligare resurser
- Introduktion till regelredigeraren för adaptiv Forms baserat på kärnkomponenter
- Operatortyper och händelser i regelredigeraren för ett adaptivt formulär baserat på kärnkomponenter
- Regelredigerarens användargränssnitt för adaptiv Forms baserat på kärnkomponenter
- Olika användningsområden för regelredigeraren för ett adaptivt formulär baserat på kärnkomponenter
- Skillnader i olika utgåvor av regelredigeraren
- Använda asynkrona funktioner i ett adaptivt formulär
- Anropa tjänstförbättringar i Visual Rule Editor för formulär som baseras på kärnkomponenter
- Introduktion till anpassade funktioner för adaptiv Forms baserat på kärnkomponenter
- Skapa en anpassad funktion för ett adaptivt formulär baserat på kärnkomponenter
- Omfångsobjekt i anpassade funktioner
- Exempel på utveckling och användning av en anpassad funktion