Specifiche OpenAPI: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: numeri di pagina nei template citazione |
|||
(19 versioni intermedie di 13 utenti non mostrate) | |||
Riga 1:
{{Aggiornare|anno=2016|argomento=informatica}}
La '''Specifica OpenAPI''' (conosciuta originariamente come la '''Specifica Swagger''') è una specifica per file di interfaccia leggibili dalle macchine per descrivere, produrre, consumare e visualizzare [[Web service|servizi web]] [[Representational State Transfer|RESTful]].<ref>{{Cita web|url=http://www.businesscloudnews.com/2015/11/06/linux-foundation-wants-to-extend-swagger-in-connected-buildings/|titolo=Linux Foundation wants to extend Swagger in connected buildings {{!}} Business Cloud News|accesso=22 aprile 2016}}</ref> Una serie di strumenti può generare codice, documentazione e test case dato un file di interfaccia.▼
▲La '''Specifica OpenAPI''' (
Le applicazioni implementate basandosi su file di interfaccia OpenAPI possono automaticamente generare la documentazione di metodi, parametri e modelli. Questo aiuta a sincronizzare la documentazione, le librerie client e il codice sorgente.▼
==
▲Le applicazioni implementate, basandosi su file di interfaccia OpenAPI, possono
Sia la specifica sia l'implementazione di un framework sono partite come iniziative da Wordnik. Swagger è stato sviluppato dall'uso di Wordnik durante lo sviluppo di Wordnik Developer e la sottostante API. Lo sviluppo di Swagger è partito ad inizio 2010.<ref name=git>{{Cita web|titolo= swagger-api/swagger-spec|url= https://github.com/swagger-api/swagger-spec/wiki|sito= GitHub|accesso= 1º dicembre 2015}}</ref>▼
== Storia ==
Nel novembre 2015 SmartBear, la società che ha sostenuto Swagger, ha annunciato che stava aiutando a creare una nuova organizzazione, sotto la sponsorizzazione della [[Linux Foundation]], chiamata Open API Initiative. Una serie di società, incluse [[Google]], [[IBM]] e [[Microsoft]] sono soci fondatori.<ref>{{Cita news|url=http://www.programmableweb.com/news/%E2%80%8Bsmartbear-linux-foundation-launch-open-api-initiative-to-evolve-swagger/2015/11/10|titolo=SmartBear, Linux Foundation launch Open API Initiative to Evolve Swagger|cognome=|nome=|data=10 novembre 2015|pubblicazione=ProgrammableWeb|accesso=21 aprile 2016}}</ref><ref>{{Cita web|url=https://www.linuxfoundation.org/news-media/announcements/2015/11/new-collaborative-project-extend-swagger-specification-building|titolo=New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services|sito=www.linuxfoundation.org|accesso=22 aprile 2016|urlmorto=sì|urlarchivio=https://web.archive.org/web/20160427104213/http://www.linuxfoundation.org/news-media/announcements/2015/11/new-collaborative-project-extend-swagger-specification-building|dataarchivio=27 aprile 2016}}</ref> Swagger ha donato la specifica Swagger al nuovo gruppo. Anche RAML e API Blueprint sono in esame da parte del gruppo.<ref>{{Cita web|url=http://www.infoworld.com/article/3014506/apis/in-2016-the-need-for-an-api-meta-language-will-crystallize.html|titolo=In 2016, the need for an API meta-language will crystallize|cognome=Montcheuil|nome=Yves de|sito=InfoWorld|accesso=25 aprile 2016}}</ref><ref>{{Cita web|url=http://www.infoq.com/news/2016/04/Amazon-API-Gateway-Swagger|titolo=Amazon API Gateway Now Supports Swagger Definition Import|sito=InfoQ|accesso=25 aprile 2016}}</ref>▼
▲Sia la specifica
▲Nel novembre 2015, SmartBear, la società che ha sostenuto Swagger, ha annunciato che stava
Il 1 gennaio 2016 la specifica Swagger è stata rinominata la Specifica OpenAPI, ed è stata spostata in una nuova repository su GitHub.▼
▲Il 1º gennaio 2016, la specifica Swagger è stata rinominata
==Caratteristiche==▼
Il 26 luglio 2017, l'OpenAPI Initiative ha rilasciato la versione 3.0.0 della specifica.<ref>{{Cita web|url=https://www.openapis.org/blog/2017/07/26/the-oai-announces-the-openapi-specification-3-0-0|titolo=The OAI Announces the OpenAPI Specification 3.0.0|autore=OpenAPI Initiative|sito=OpenAPI Initiative|data=2017-07-26|lingua=en-US|accesso=2024-10-13}}</ref> Tra le novità possiamo notare una semplificazione della struttura, con maggiore riutilizzabilità dei componenti; un miglioramento delle definizioni di sicurezza, inclusa la rinominazione dei flussi [[OAuth]] 2 per corrispondere alla specifica OAuth2; l'aggiunta delle [[callback]] e dei link.<ref>{{Cita web|url=https://swagger.io/blog/news/whats-new-in-openapi-3-0/|titolo=What is OpenAPI 3.0? {{!}} Swagger Blog|sito=SmartBear.com|accesso=2024-10-13}}</ref>
Il 15 febbraio 2021, l'OpenAPI Initiative ha rilasciato la versione 3.1.0 della specifica.<ref>{{Cita web|url=https://www.linux.com/news/openapi-specification-3-1-0-available-now/|titolo=OpenAPI Specification 3.1.0 Available Now|autore=Linux com Editorial Staff|sito=Linux.com|data=2021-04-26|lingua=en-US|accesso=2024-10-13}}</ref> Le principali modifiche includono l'allineamento con i vocabolari dello schema [[JavaScript Object Notation|JSON]], l'introduzione di nuovi elementi di primo livello per descrivere i [[webhook]] registrati e gestiti fuori banda, il supporto per identificare le licenze [[Application programming interface|API]] utilizzando l'identificatore standard [[Software Package Data Exchange|SPDX]], la possibilità di includere descrizioni accanto all'uso dei riferimenti di schema e una modifica che rende l'oggetto PathItems opzionale, semplificando così la creazione di librerie riutilizzabili di componenti.<ref>{{Cita web|url=https://nordicapis.com/whats-new-in-openapi-3-1-0/|titolo=What’s New in OpenAPI 3.1.0? {{!}} Nordic APIs {{!}}|autore=Tyler Charboneau|sito=Nordic APIs|data=2021-04-07|lingua=en-US|accesso=2024-10-13}}</ref><ref>{{Cita web|url=https://www.openapis.org/blog/2021/02/18/openapi-specification-3-1-released|titolo=OpenAPI Specification 3.1.0 Released|autore=OpenAPI Initiative|sito=OpenAPI Initiative|data=2021-02-18|lingua=en-US|accesso=2024-10-13}}</ref><ref>{{Cita web|url=https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0|titolo=Migrating from OpenAPI 3.0 to 3.1.0|autore=OpenAPI Initiative|sito=OpenAPI Initiative|data=2021-02-16|lingua=en-US|accesso=2024-10-13}}</ref>
▲== Caratteristiche ==
La specifica OpenAPI non richiede un [[linguaggio di programmazione]] specifico. Inoltre, è estendibile per l'uso con nuove tecnologie e protocolli. Gli strumenti OpenAPI sono generalmente compatibili con le specifiche RESTful e descrivono come un'API è organizzata e come interagisce con gli utenti, facendo uso di strumenti come Swagger UI, Swagger Codegen, Swagger Hub e Swagger Editor. L'architettura di base della specifica si concentra su tre componenti principali:
* Descrizione di un'API
* Definizione dei parametri di un'API
* Documentazione dei metodi di un'API
== Versioni ==
=== Swagger ===
* 1.0 (2011)
* 2.0 (2014)
=== OpenAPI ===
* 3.0.0 (2017)
* 3.1.0 (2021)
==Note==
Line 22 ⟶ 38:
==Bibliografia==
*{{Cita conferenza| doi = 10.1109/ICWS.2014.30|titolo= A Model-Driven Approach for REST Compliant Services|collana= 2014 IEEE International Conference on Web Services|conferenza= [[International Conference on Web Services|ICWS]] 2014|pp=
==Voci correlate==
* [[Application programming interface]]
* [[RESTful]]
* [[Linux Foundation]]
* [[GitHub]]
==Collegamenti esterni==
* {{Collegamenti esterni}}
*[http://swagger.io Swagger website]
{{portale|informatica}}
[[Categoria:Architettura del software]]
|