# OpenAPI Spec Desenvolvendo, mantendo e evoluindo REST APIs --- ### Formatos de Descrição de API * **OpenAPI Spec** (https://www.openapis.org/) * API Blueprint (https://apiblueprint.org) * RAML (https://raml.org) * OData (https://www.odata.org/) * GraphQL (https://graphql.org/):question: * gRPC (https://grpc.io):question: --- ### OpenAPI 3.0 * Em 2011 SmartBear desenvolve o `Swagger` * 2016 `Swagger` torna-se um formato aberto chamado `OpenAPI` * 2017 a *OpenAPI initiative* lança o `OpenAPI 3.0` --- ### O Formato [Especificação Oficial](https://swagger.io/specification/) Esquema visual da especificação: https://openapi-map.apihandyman.io/ * Pode ser descrito em `json` ou `yaml` * Especificação de paths/resources e modelos de autenticação * Suporte a definição de esquema de entidades/componentes (semelhante a *JSON Schema*) --- ### Visualização e Edição **SwaggerUI**: https://petstore.swagger.io/?url=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore-expanded.yaml#/default/findPets **Swagger Editor**: https://editor.swagger.io/?url=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore-expanded.yaml --- ### Abordagens de Desenvolvimento de APIs > Code-first development Geração de especificação através do código da API (Introspecção, Metatags, Annotations) > Contract-first API development Geração de serviços/clientes baseados numa especificação bem-definida de API (*[Codegen](https://openapi-generator.tech)*) --- ### Tooling https://openapi.tools/ ### Survey https://smartbear.com/resources/ebooks/the-state-of-api-2019-report/ https://www.businesswire.com/news/home/20190206005087/en/Global-Survey-Reveals-API-Standardization-No.-1 https://cloudsecurityalliance.org/blog/2019/09/11/open-api-survey-report/ https://www.enterpriseai.news/2019/02/06/survey-developers-want-api-standards/
{"metaMigratedAt":"2023-06-15T00:51:42.032Z","metaMigratedFrom":"YAML","title":"Open API Spec","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"f68e4433-ed93-4564-a6f2-82501df0c6ce\",\"add\":2632,\"del\":449}]"}
    276 views