Jazyk popisu webové aplikace - Web Application Description Language
The Jazyk popisu webové aplikace (WADL) je strojově čitelný XML popis HTTP -na základě webové služby.[1] WADL modeluje prostředky poskytované službou a vztahy mezi nimi.[1] Cílem WADL je zjednodušit opětovné použití webových služeb, které jsou založeny na existující architektuře HTTP na webu.[1][2] Je nezávislý na platformě a jazyce a jeho cílem je podporovat opětovné použití aplikací nad rámec základního použití ve webovém prohlížeči.[1]
WADL byl předložen World Wide Web Consortium podle Sun Microsystems dne 31. srpna 2009[1], ale konsorcium nemá v současné době žádné plány na jeho standardizaci[2]. WADL je ZBYTEK ekvivalent MÝDLO je Jazyk popisu webových služeb (WSDL), kterou lze také použít k popisu ZBYTEK webové služby.[3]
Formát
Služba je popsána pomocí sady zdroj elementy. Každý zdroj obsahuje param prvky popisující vstupy a metoda prvky, které popisují žádost a Odezva zdroje. The žádost element určuje, jak reprezentovat vstup, jaké typy jsou požadovány a jakékoli konkrétní HTTP hlavičky, které jsou požadovány. The Odezva popisuje reprezentaci reakce služby, stejně jako jakékoli informace o poruše za účelem řešení chyb.
Příklad
Následující seznam ukazuje příklad popisu WADL pro aplikaci Yahoo News Search.
xmlns: xsi =„http://www.w3.org/2001/XMLSchema-instance“ xsi: schemaLocation =„http://wadl.dev.java.net/2009/02 wadl.xsd“ xmlns: tns =„urn: yahoo: yn“ xmlns: yn =„urn: yahoo: yn“ xmlns: ya =„urn: yahoo: api“ xmlns: xsd =„http://www.w3.org/2001/XMLSchema“ xmlns =„http://wadl.dev.java.net/2009/02“> <grammars> href =„NewsSearchResponse.xsd“/> href ="Error.xsd"/> </grammars> základna =„http://api.search.yahoo.com/NewsSearchService/V1/“> cesta ="newsSearch"> jméno ="DOSTAT" id ="Vyhledávání"> <request> jméno =„appid“ zadejte ="xsd: string" styl ="dotaz" požadováno ="skutečný"/> jméno ="dotaz" zadejte ="xsd: string" styl ="dotaz" požadováno ="skutečný"/> jméno ="typ" styl ="dotaz" výchozí ="Všechno"> hodnota ="Všechno"/> hodnota ="žádný"/> hodnota ="fráze"/> </param> jméno ="Výsledek" styl ="dotaz" zadejte =„xsd: int“ výchozí ="10"/> jméno ="Start" styl ="dotaz" zadejte =„xsd: int“ výchozí ="1"/> jméno ="třídit" styl ="dotaz" výchozí ="hodnost"> hodnota ="hodnost"/> hodnota ="datum"/> </param> jméno ="Jazyk" styl ="dotaz" zadejte ="xsd: string"/> </request> stav ="200"> mediaType =„application / xml“ prvek =„yn: ResultSet“/> </response> stav ="400"> mediaType =„application / xml“ prvek =„ya: Chyba“/> </response> </method> </resource> </resources> </application>
Vygenerujte WADL nebo vygenerujte kód z WADL
Jáva
Existuje několik nástrojů pro generování java kódu z existujícího WADL:[4][5]
- Apache CXF
- Java API pro RESTful webové služby a jeho referenční implementace, Jersey
Příklad WADL generovaný CXF
xmlns =„http://research.sun.com/wadl/2006/10“ xmlns: xs =„http://www.w3.org/2001/XMLSchema“> <grammars> xmlns: xs =„http://www.w3.org/2001/XMLSchema“ attributeFormDefault ="nekvalifikovaný" elementFormDefault ="nekvalifikovaný"> jméno =„appProfile“ zadejte =„appProfile“/> jméno ="profil zákazníka" zadejte ="profil zákazníka"/> jméno ="profil zákazníka"> <xs:sequence> minOccurs ="0" jméno =„accessPaymentServicesEnabled“ zadejte =„xs: boolean“/> maxOccurs ="neomezený" minOccurs ="0" jméno ="atributy" nillable ="skutečný" zadejte ="atribut"/> minOccurs ="0" jméno =„billingType“ zadejte ="xs: string"/> minOccurs ="0" jméno ="defaultCurrency" zadejte ="xs: string"/> minOccurs ="0" jméno =„defaultSpendingLimitCurrency“ zadejte ="xs: string"/> minOccurs ="0" jméno =„maximumSpendingLimit“ zadejte =„xs: double“/> minOccurs ="0" jméno =„minimumSpendingLimit“ zadejte =„xs: double“/> minOccurs ="0" jméno =„customerCategory“ zadejte ="xs: string"/> minOccurs ="0" jméno =„customerEnabled“ zadejte =„xs: boolean“/> minOccurs ="0" jméno ="Jméno zákazníka" zadejte ="xs: string"/> minOccurs ="0" jméno =„PaymentNotificationEndpointAddress“ zadejte ="xs: string"/> minOccurs ="0" jméno =„pseCustomerId“ zadejte ="xs: string"/> minOccurs ="0" jméno =„resourceURL“ zadejte ="xs: string"/> minOccurs ="0" jméno ="vypořádáníContractUuid" zadejte ="xs: string"/> minOccurs ="0" jméno =„isSpendingLimitEnabled“ zadejte =„xs: boolean“/> minOccurs ="0" jméno =„abcCustomerId“ zadejte ="xs: string"/> </xs:sequence> </xs:complexType> jméno ="atribut"> <xs:sequence> minOccurs ="0" jméno ="klíč" zadejte ="xs: string"/> minOccurs ="0" jméno ="hodnota" zadejte ="xs: string"/> </xs:sequence> </xs:complexType> jméno =„appProfile“> <xs:sequence> minOccurs ="0" jméno =„appEnabled“ zadejte =„xs: boolean“/> minOccurs ="0" jméno =„appName“ zadejte ="xs: string"/> minOccurs ="0" jméno =„appPassword“ zadejte ="xs: string"/> minOccurs ="0" jméno =„appUserName“ zadejte ="xs: string"/> minOccurs ="0" jméno =„appUuid“ zadejte ="xs: string"/> maxOccurs ="neomezený" minOccurs ="0" jméno ="atributy" nillable ="skutečný" zadejte ="atribut"/> minOccurs ="0" jméno ="popis" zadejte ="xs: string"/> minOccurs ="0" jméno ="Jméno zákazníka" zadejte ="xs: string"/> minOccurs ="0" jméno =„resourceURL“ zadejte ="xs: string"/> minOccurs ="0" jméno =„serviceContractName“ zadejte ="xs: string"/> minOccurs ="0" jméno =„abcAppId“ zadejte ="xs: string"/> </xs:sequence> </xs:complexType> </xs:schema> </grammars> základna =„http: // mpsamara-mobl-vm1: 9078 / customermanagement / v1“> cesta =„/ customers“> cesta ="/"> jméno ="VYMAZAT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> jméno ="DOSTAT"> <request> jméno ="strana" styl ="dotaz" zadejte =„xs: int“/> jméno =„partialCustomerName“ styl ="dotaz" zadejte ="xs: string"/> </request> <response> mediaType =„aplikace / json“/> </response> </method> jméno ="POŠTA"> <request> mediaType =„aplikace / json“/> </request> <response> mediaType =„aplikace / json“/> </response> </method> jméno ="DÁT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName}“> jméno ="VYMAZAT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName}“> jméno =„customerUserName“ styl ="šablona" zadejte ="xs: string"/> jméno ="DOSTAT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> jméno ="POŠTA"> <request> mediaType =„aplikace / json“/> </request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName}“> jméno ="DÁT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName} / aplikace“> jméno ="VYMAZAT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName} / aplikace“> jméno =„customerUserName“ styl ="šablona" zadejte ="xs: string"/> jméno ="DOSTAT"> <request> jméno ="strana" styl ="dotaz" zadejte =„xs: int“/> </request> <response> mediaType =„aplikace / json“/> </response> </method> jméno ="POŠTA"> <request> mediaType =„aplikace / json“/> </request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName} / aplikace“> jméno ="DÁT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName} / apps / {appName}> jméno ="VYMAZAT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName} / apps / {appName}> jméno =„customerUserName“ styl ="šablona" zadejte ="xs: string"/> jméno =„appName“ styl ="šablona" zadejte ="xs: string"/> jméno ="DOSTAT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> jméno ="POŠTA"> <request> mediaType =„aplikace / json“/> </request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> cesta =„/ {customerUserName} / apps / {appName}> jméno ="DÁT"> <request></request> <response> mediaType =„aplikace / json“/> </response> </method> </resource> </resource> </resources></app>
Viz také
Reference
- ^ A b C d E Sun Microsystems (31. srpna 2009). „Jazyk popisu webové aplikace: Odeslání člena W3C 31. srpna 2009“. World Wide Web Consortium. Citováno 12. srpna 2012.
- ^ A b World Wide Web Consortium (14. října 2009). "Komentář týmu k" Odeslání "jazyka popisu webové aplikace". World Wide Web Consortium. Citováno 12. srpna 2012.
- ^ Lawrence Mandel (29. května 2008). „Popište webové služby REST s WSDL 2.0: průvodce“. IBM. Citováno 12. srpna 2012.
- ^ github WADL projekt
- ^ Apache CXF