RAML (software)

RAML
Filename extension
.raml
Internet media type
application/raml+yaml[n 1]
Developed byRAML Workgroup
Latest release
1.0
May 16, 2016 (2016-05-16)[1]
Extended fromYAML
Standardgithub.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md/
Websiteraml.org

RESTful API Modeling Language (RAML) is a YAML-based language for describing static APIs (but not REST APIs).[2] It provides all the information necessary to describe APIs on the level 2 of the Richardson Maturity Model. Although designed with RESTful APIs in mind, RAML is not capable of describing APIs that obey all constraints of REST (it cannot describe an API obeying HATEOAS, in particular). It encourages reuse, enables discovery and pattern-sharing and aims for merit-based emergence of best practices.[3]

History

RAML was first proposed in 2013. The initial RAML specification was authored by Uri Sarid, Emiliano Lesende, Santiago Vacas and Damian Martinez, and garnered support from technology leaders like MuleSoft, AngularJS, Intuit, Box, PayPal, Programmable Web and API Web Science, Kin Lane, SOA Software, and Cisco.[4] Development is managed by the RAML Workgroup.[5] The current workgroup signatories include technology leaders from MuleSoft (Uri Sarid, CTO), AngularJS (Misko Hevery, Project Founder), Intuit (Ivan Lazarov, Chief Enterprise Architect), Airware (Peter Rexer, Director of Product - Developer Platform), Programmable Web and API Science (John Musser, Founder), SOA Software (Tony Gullotta, Director of Development), Cisco (Jaideep Subedar, Senior Manager, Product Management - Application Integration Solutions Group), VMware (Kevin Duffey, Senior MTS Engineer), Akamai Technologies (Rob Daigneau, Director of Architecture for Akamai's OPEN API Platform) and Restlet (Jerome Louvel, CTO and Founder). RAML is a trademark of MuleSoft.[6]

Very few existing APIs meet the precise criteria to be classified as RESTful APIs. Consequently, like most API initiatives in the 2010s, RAML has initially focussed on the basics of APIs including resources, methods, parameters, and response bodies that need not be hypermedia. There are plans to move towards more strictly RESTful APIs as the evolution of technology and the market permits.[citation needed]

There are a number of reasons why RAML has broken out from being a proprietary vendor language and has proven interesting to the broader API community:[7]

  • RAML has been open-sourced along with tools and parsers for common languages. The development of RAML will be overseen by a steering committee of API and UX practitioners, and there is an emerging ecosystem of third-party tools being developed around RAML[8]
  • MuleSoft originally started using Swagger (now OpenAPI Specification), but decided it was best suited to documenting an existing API, not for designing an API from scratch. RAML evolved out of the need to support up-front API design in a succinct, human-centric language[9]
  • API descriptions are often verbose and repetitive, which can make them difficult to understand and use, and slow adoption of the APIs. RAML has introduced language features that support structured files and inheritance that address cross-cutting concerns[10]

A new organization, under the sponsorship of the Linux Foundation, called the Open API Initiative was set up in 2015 to standardize the description of HTTP APIs. A number of companies including SmartBear, Google, IBM and Microsoft were founding members.[11][12] SmartBear donated the Swagger specification to the new group. RAML and API Blueprint are also under consideration by the group.[13][14]

Example

This is an example RAML file. As with YAML, indentation shows nesting.

  #%RAML 0.8

  title: World Music API
  baseUri: http://example.api.com/{version}
  version: v1
  traits:
    - paged:
        queryParameters:
          pages:
            description: The number of pages to return
            type: number
    - secured: !include http://raml-example.com/secured.yml
  /songs:
    is: [ paged, secured ]
    get:
      queryParameters:
        genre:
          description: filter the songs by genre
    post:
    /{songId}:
      get:
        responses:
          200:
            body:
              application/json:
                schema: |
                  { "$schema": "http://json-schema.org/schema",
                    "type": "object",
                    "description": "A canonical song",
                    "properties": {
                      "title":  { "type": "string" },
                      "artist": { "type": "string" }
                    },
                    "required": [ "title", "artist" ]
                  }
              application/xml:
      delete:
        description: |
          This method will *delete* an **individual song**

Some highlights:

  • line 7, 12: defines traits, invoked in multiple places
  • line 12: an Include file
  • line 13, 14: define a "resource" data type "/songs"; uses previously defined traits
  • line 15, 19, 37: defines HTTP methods
  • line 25, 36: MIME types.

API gateways supporting RAML

Furthermore, you can convert your RAML specification to either OpenAPI or API Blueprint using APIMATIC, thus enabling you to use further API gateways.

See also

Alternative HTTP API Modeling Languages

Notes

  1. ^ Not registered with IANA

References

  1. ^ "Announcing RAML 1.0 GA | RAML Blog". Retrieved 11 August 2016.
  2. ^ "RAML 100.o". GitHub. Retrieved 26 May 2017.
  3. ^ "RAML — RESTful API Modeling Language". Retrieved 15 July 2014.
  4. ^ "RAML or OpenAPI - How About Both? - DZone Integration". dzone.com. Retrieved 2017-10-04.
  5. ^ "RAML Workgroup".
  6. ^ "RAML - Trademark Details". 26 May 2017.
  7. ^ "Why RAML is More than Another Proprietary Specification". 11 April 2014.
  8. ^ "API Design Tooling From RAML". 3 March 2014.
  9. ^ "Anypoint for APIs: An Interview with Uri Sarid". 25 February 2014.
  10. ^ "An Example of API Design using RAML". 11 April 2014.
  11. ^ "SmartBear, Linux Foundation launch Open API Initiative to Evolve Swagger". ProgrammableWeb. 2015-11-10. Archived from the original on 2016-11-09. Retrieved 2016-04-21.
  12. ^ "New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services". www.linuxfoundation.org. Archived from the original on 2016-04-27. Retrieved 2016-04-22.
  13. ^ Montcheuil, Yves de (14 December 2015). "In 2016, the need for an API meta-language will crystallize". InfoWorld. Retrieved 2016-04-25.
  14. ^ "Amazon API Gateway Now Supports Swagger Definition Import". InfoQ. Retrieved 2016-04-25.

Read other articles:

Dalam artikel ini, nama keluarganya adalah Kem. Kem Sokhaកឹម សុខា Pemimpin OposisiMasa jabatan16 November 2015 – 31 Januari 2017Perdana MenteriHun Sen PendahuluSam RainsyPenggantiJabatan ditiadakanWakil Presiden Pertama Majelis NasionalMasa jabatan26 Agustus 2014 – 30 Oktober 2015PresidenHeng Samrin PendahuluNguon NhelPenggantiYou Hockry Jabatan tambahan Presiden Partai Penyelamatan Nasional KambojaMasa jabatan2 Maret 2017 – 16 November 2017Wakil...

 

 

Untuk album lagu tema dari film ini, lihat Binalnya Anak Muda (album). Binalnya Anak MudaSutradaraIsmail SoebardjoProduserRonald LolangDitulis olehIsmail SoebardjoPemeranYenny RachmanMangara SiahaanAedy MowardDeasy SurachmanDorman BorismanEfrizal NurdinFabanyoNani WidjayaSentot S.Sofia WDSukarno M. NoorYati SurachmanDistributorGemini Satria FilmTanggal rilis1978Durasi104 menitNegaraIndonesia Binalnya Anak Muda adalah film Indonesia yang dirilis pada tahun 1978 dengan disutradarai oleh Ismail ...

 

 

Permaisuri HatikuGenreSinetronRemajaKomediRomantisDramaPembuatTripar Multivision PlusSkenario-Sutradara-Pemeran Nafa Urbach Adam Jordan Thessa Kaunang Krissno Bossa Umar Lubis Penggubah lagu tema-Lagu pembukaPermaisuriku, KahitnaLagu penutupPermaisuriku, KahitnaPenata musik-Negara asalIndonesiaBahasa asliIndonesiaJmlh. episode26ProduksiProduserRaam PunjabiLokasi produksiJakarta, IndonesiaDurasi60 menit (20:00 - 21:00 WIB)Rumah produksiTripar Multivision PlusDistributorTripar Multivisio...

Кафедральный соборНидаросский соборNidarosdomen 63°25′37″ с. ш. 10°23′49″ в. д.HGЯO Страна  Норвегия[1] Местоположение Тронхейм Конфессия лютеранство Епархия Диоцез Нидароса Архитектурный стиль романская архитектура и готическая архитектура Архитектор Генр�...

 

 

Strada statale 45 bisGardesana OccidentaleLocalizzazioneStato Italia Regioni Lombardia Trentino-Alto Adige Province Cremona Brescia Trento DatiClassificazioneStrada statale InizioCremona FineTrento Lunghezza154,160 km Provvedimento di istituzioneR.D. 22 luglio 1932, n. 1046 GestoreTratte ANAS: da Cremona fino al confine con la Provincia autonoma di Trento; dal 1998 la gestione del tratto dal confine con la Lombardia a Riva del Garda a Trento è passata alla Provi...

 

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Delfino Pescara 1936. Associazione Sportiva PescaraStagione 1966-1967Sport calcio Squadra Pescara Allenatore Sergio Cervato Presidente Salvatore Galeota Serie C6º posto nel girone C. Maggiori presenzeCampionato: Maschietto, Pinna (31) Miglior marcatoreCampionato...

イスラームにおける結婚(イスラームにおけるけっこん)とは、二者の間で行われる法的な契約である。新郎新婦は自身の自由な意思で結婚に同意する。口頭または紙面での規則に従った拘束的な契約は、イスラームの結婚で不可欠だと考えられており、新郎と新婦の権利と責任の概要を示している[1]。イスラームにおける離婚は様々な形をとることができ、個�...

 

 

Kakoun redirects here. For the Israeli footballer, see Motti Kakoun. Kakun redirects here. For the village in Iran, see Kakun, Iran. Place in Tulkarm, Mandatory PalestineQaqun قاقونQuaquo, Caco, Chaco, Kâkôn, KakounIn the Crusader period, a castle called Caco or Cacho stood here, of which an 8.5m tower survives.[1]Etymology: from personal name[2] 1870s map 1940s map modern map 1940s with modern overlay map A series of historical maps of the area around Qaqun (click the ...

 

 

Administrative region of the Philippines Region in Visayas, PhilippinesCentral Visayas Tunga-tungang Kabisay-an Gitnang KabisayaanRegion Clockwise from the top: Magellan's Cross, Rajah Sikatuna Protected Landscape, Panglao Island, St. Francis of Assisi Church (Siquijor), Chocolate Hills, Niludhan Falls, Moalboal ReefNickname(s): Center of ChristianityRehiyon sa mga Sugboanon (Region of the Cebuanos)Location in the PhilippinesOpenStreetMapCoordinates: 10°0′N 123°30′E / þ...

Suzuki VL 1500 Intruder LC. Suzuki Intruder adalah serangkaian sepeda motor cruiser yang dibuat oleh Suzuki sejak tahun 1985 hingga 2005. Setelah tahun 2005, lineup Intruder digantikan oleh berbagai Boulevard. Di Eropa, nama Intruder tetap digunakan pada model-model tertentu. VS Intruder sepeda semua memiliki mesin 4-stroke V-twin. Referensi http://motosvit.com/Suzuki VS750 Intruder http://www.motosvit.com/Suzuki VS1400 Intruder http://www.totalmotorcycle.com/Suzuki VS800 Intruder

 

 

John Kasich 2000 presidential campaignCampaignU.S. presidential election, 2000CandidateJohn KasichU.S. Representative from Ohio(1983–2001)Governor of Ohio(2011-2019)AffiliationRepublican PartyHeadquarters2021 East Dublin-Granville RoadSuite 2000Columbus, Ohio 43229ReceiptsUS$2,710[1] This article is part of a series aboutJohn Kasich Political positions Electoral history Presidential campaigns 2000 primaries 2016 primaries endorsements Pre-governorship Ohio's 12th district Balanced B...

 

 

  هذه المقالة عن زلفة،وهي قرية قرب مدينة أم الفحم. لمعانٍ أخرى، طالع زلفة (توضيح). زلفة الإحداثيات 32°32′56″N 35°11′17″E / 32.54888889°N 35.18805556°E / 32.54888889; 35.18805556   تعديل مصدري - تعديل   زلفة (بالعبرية: זלפה) هي قرية عربيّة تقع في منطقةِ المُثلّث الشّمالي وتحديدًا على...

Indo-Aryan language spoken in South Asia UrduStandard UrduاُردُوUrdu written in the Nastaliq calligraphic handPronunciation[ʊɾduː] ⓘRegion Pakistan (widely used as lingua franca)[a] Hindustani Belt and Deccan, India[1] Afghanistan[2] Terai, Nepal[3] Old Dhaka, Bangladesh SpeakersL1: 70 million (2011–2017)[4]L2: 170 million (2020)[4]Language familyIndo-European Indo-IranianIndo-AryanCentral ZoneWestern HindiHindustaniUrd...

 

 

Pemilihan umum Presiden Afganistan 2014200920195 April dan 14 Juni 2014Kandidat   Calon Ashraf Ghani Abdullah Abdullah Partai Independen Koalisi Nasional Pendamping Abdul Rashid DostumSarwar Danish Mohammad KhanMohammad Mohaqiq Suara rakyat 4.485.888 3.461.639 Persentase 56,44% 43,56% Presiden petahanaHamid Karzai Independen Presiden terpilih Ashraf Ghani Independen Pemilihan umum Presiden Afganistan 2014 diadakan pada tanggal 5 April dan 14 Juni (ronde kedua). Presiden petahana Ha...

 

 

For the engine manufacturer, see Motorenfabrik Oberursel. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Oberursel Taunus – news · newspapers · books · scholar · JSTOR (May 2009) (Learn how and when to remove this message) Town in Hesse, GermanyOberursel (Taunus) TownSaint Ursula Church at the Old Town...

MantovanoMantuàn, MantfànParlato inItalia RegioniProvincia di Mantova LocutoriTotale~170 000 TassonomiaFilogenesiIndoeuropee Italiche  Romanze   Italo-occidentali    Occidentali     Galloiberiche      Galloromanze       Galloitaliche        Emiliano-Romagnolo        ...

 

 

南達科他州參議院南達科他州議會(英语:South Dakota Legislature)南達科他州州徽种类种类上議院连任限制4屆(8年)历史当前任期2021年1月12日领导議長賴瑞·羅登(英语:Larry Rhoden)( 共和黨) 自2019年1月5日臨時議長李·舍恩貝克(英语:Lee Schoenbeck)( 共和黨) 自2021年1月8日多數黨領袖蓋瑞·卡馬克(英语:Gary Cammack)( 共和黨) 自2021年1月8日少數黨領袖特洛伊·海納特...

 

 

Radio station in Gloucestershire, England This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Total Star – news · newspapers · books · scholar · JSTOR (April 2017) (Learn how and when to remove this message) Total Star was the brand name of a radio station based in Cheltenham broadcasting in Gloucestershire owne...

Srish Chandra Mitra (death: 1915) or Habu was a Bengali revolutionary and active member of Indian independence movement. Revolutionary activities Mitra was born in Raspur village, Amta, Howrah district. He was popularly known as Habu Mitra.[1] He joined in Anushilan Samiti and entered in British gun maker Rodda Company as an employee. Mitra was aware of a major consignment of arms and ammunition being shipped to the Company in August 1914 and planned to loot the arms for revolutionari...

 

 

Voce principale: Offenbacher Fußball-Club Kickers 1901. Offenbacher Fußball-Club Kickers 1901Stagione 2009-2010Sport calcio Squadra Kickers Offenbach Allenatore Hans-Jürgen Boysen (1ª-12ª) Steffen Menze (13ª-23ª) Wolfgang Wolf (24ª-38ª) All. in seconda Tobias Dudeck 3. Liga7º posto Coppa di GermaniaPrimo turno Maggiori presenzeCampionato: Wulnikowski, Huber (37)Totale: Wulnikowski, Huber (38) Miglior marcatoreCampionato: Mesic (11)Totale: Mesic (11) StadioStadion am Bieberer B...