Overview of RESTful API Description Languages: Difference between revisions

Content deleted Content added
m Avro has an RPC IDL, no REST
m Reverted edit by 187.246.13.35 (talk) to last version by Citation bot
 
(6 intermediate revisions by 4 users not shown)
Line 1:
'''RESTful''' (representational state transfer) '''API''' (application programming interface) '''DLs''' (description languages) are [[formal language]]s designed to provide a structured description of a [[REST]]ful [[web API]] that is useful both to a human and for automated machine processing. API description languages are sometimes called [[interface description language]]s (IDLs). The structured description might be used to generate documentation for human [[programmer]]s; such documentation may be easier to read than free-form documentation, since all documentation generated by the same tool follows the same formatting conventions. Additionally, the description language is usually precise enough to allow automated generation of various software artifacts, like libraries, to access the API from various programming languages, which takes the burden of manually creating them off the programmers.<ref>{{Cite book |last1=Zhai |first1=Juan |last2=Huang |first2=Jianjun |last3=Ma |first3=Shiqing |last4=Zhang |first4=Xiangyu |last5=Tan |first5=Lin |last6=Zhao |first6=Jianhua |last7=Qin |first7=Feng |title=Proceedings of the 38th International Conference on Software Engineering |chapter=Automatic model generation from documentation for Java API functions |date=2016-05-14 |chapter-url=https://doi.org/10.1145/2884781.2884881 |series=ICSE '16 |___location=New York, NY, USA |publisher=Association for Computing Machinery |pages=380–391 |doi=10.1145/2884781.2884881 |isbn=978-1-4503-3900-1|s2cid=2733669 }}</ref>
 
==History==
There are two previous major description languages: [[Web Services Description Language|WSDL2WSDL 2.0]] (Web Services Description Language) and [[Web Application Description Language|WADL]] (Web Application Description Language). Neither is widely adopted in the industry for describing RESTful APIs, citing poor human readability of both and WADL being actually unable to fully describe a RESTful API.<ref name="slideshare.net">{{Cite web|url=http://www.slideshare.net/SOA_Software/api-description-languages|title = API Description Languages|date = 12 August 2014}}</ref>
 
==Principle==
Line 13:
<!-- Name, URL, Developer, Note, Refs -->
*[[Web Services Description Language]] (WSDL)
*[[Hydra (specification)|Hydra]]
*[[Google Cloud Platform#Products|Google Cloud Endpoints]]
*[[Open Data Protocol]] (OData)
 
==References==
{{Reflist}}
 
==External links==
*[http://www.mayerdan.com/programming/2014/01/29/investigating-api-tooling Investigating Api Developer Tooling]
 
[[Category:Cloud standards]]