All Projects → zalando → Zally

zalando / Zally

Licence: mit
A minimalistic, simple-to-use API linter

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Zally

Api Development Tools
📚 A collection of useful resources for building RESTful HTTP+JSON APIs.
Stars: ✭ 2,519 (+404.81%)
Mutual labels:  api, swagger, api-management
Oas Kit
Convert Swagger 2.0 definitions to OpenAPI 3.0 and resolve/validate/lint
Stars: ✭ 516 (+3.41%)
Mutual labels:  api, swagger, linter
Loopback Next
LoopBack makes it easy to build modern API applications that require complex integrations.
Stars: ✭ 3,972 (+695.99%)
Mutual labels:  api, swagger
Swagger Typescript Api
TypeScript API generator via Swagger scheme
Stars: ✭ 342 (-31.46%)
Mutual labels:  api, swagger
Newbee Mall Api
新蜂商城前后端分离版本-后端API源码
Stars: ✭ 384 (-23.05%)
Mutual labels:  swagger, spring-boot
Angularjs Springmvc Sample Boot
A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap.
Stars: ✭ 309 (-38.08%)
Mutual labels:  swagger, spring-boot
Hope Boot
🌱 Hope-Boot 一款现代化的脚手架项目
Stars: ✭ 3,241 (+549.5%)
Mutual labels:  swagger, spring-boot
Dredd
Language-agnostic HTTP API Testing Tool
Stars: ✭ 3,770 (+655.51%)
Mutual labels:  api, swagger
Apisix Dashboard
Dashboard for Apache APISIX
Stars: ✭ 268 (-46.29%)
Mutual labels:  api, api-management
Go Gin Example
An example of gin
Stars: ✭ 4,992 (+900.4%)
Mutual labels:  api, swagger
Koa Rest Api Boilerplate
💯 Boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, CodeCov and CircleCI
Stars: ✭ 420 (-15.83%)
Mutual labels:  api, swagger
Goa
Design-based APIs and microservices in Go
Stars: ✭ 4,493 (+800.4%)
Mutual labels:  api, swagger
Flask Api Starter Kit
Start a Flask API in less than 5 minutes
Stars: ✭ 296 (-40.68%)
Mutual labels:  api, swagger
Jianshu
仿简书nx+nodejs+nestjs6+express+mongodb+angular8+爬虫
Stars: ✭ 296 (-40.68%)
Mutual labels:  api, swagger
Swaggymnia
Generate Swagger 🌀 documentation for your existing API in Insomnia
Stars: ✭ 336 (-32.67%)
Mutual labels:  api, swagger
Chn Eolinker Ams Lite 4.0 For Java
中国最大的API接口管理平台,3.x开源发行版,支持多国语言[英语、简体中文、繁体中文]
Stars: ✭ 275 (-44.89%)
Mutual labels:  api, api-management
Spring Boot Projects
该仓库中主要是 Spring Boot 的入门学习教程以及一些常用的 Spring Boot 实战项目教程,包括 Spring Boot 使用的各种示例代码,同时也包括一些实战项目的项目源码和效果展示,实战项目包括基本的 web 开发以及目前大家普遍使用的线上博客项目/企业大型商城系统/前后端分离实践项目等,摆脱各种 hello world 入门案例的束缚,真正的掌握 Spring Boot 开发。
Stars: ✭ 4,022 (+706.01%)
Mutual labels:  swagger, spring-boot
Full Stack
Full stack, modern web application generator. Using Flask, PostgreSQL DB, Docker, Swagger, automatic HTTPS and more.
Stars: ✭ 451 (-9.62%)
Mutual labels:  api, swagger
Mockoon
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Stars: ✭ 3,448 (+590.98%)
Mutual labels:  api, swagger
Shins
Shins development continues at
Stars: ✭ 250 (-49.9%)
Mutual labels:  api, swagger

Zally: A minimalistic, simple-to-use OpenAPI 2 and 3 linter

Build Status Codacy Badge Join the chat at https://gitter.im/zalando/zally

Zally is a quality assurance tool. It's a linter for OpenAPI specifications, which:

  • Increases the quality of APIs
  • Checks compliance
  • Delivers early feedback for API designers
  • Ensures the same look-and-feel of APIs
  • Supports API-First approach
  • Provides best practices and advices

Its standard configuration will check your APIs against the rules defined in Zalando's RESTful Guidelines, but anyone can use it out-of-the-box.

Zally's easy-to-use CLI uses the server in the background so that you can check your API on the spot. It also features an intuitive Web UI that shows implemented rules and lints external files and (with its online editor) API definitions.

Features

  • Support for OpenAPI 3 and (Swagger) OpenAPI 2 specifications
  • RESTful API, CLI and Web interface
  • Rich Check configuration
  • Ignore functionality (x-zally-ignore extension)
  • Java/Kotlin API for new Checks + helper functions

Quick start guide

Trying out Zally is easy. You can build and run the whole Zally stack (web-ui, server and database) by executing:

./build-and-run.sh

Web UI is accessible on http://localhost:8080; Zally server on http://localhost:8000

Documentation and Manuals

Please consult the following documents for more information:

Contributing

Zally welcomes contributions from the open source community. To get started, take a look at our contributing guidelines. Then check our Project Board and Issues Tracker for ideas.

Roadmap

For Zally version 1.5, we're focusing on:

  • Improve extensibility of Zally
    • Plugin mechanism for Rules (Sets)
    • Utilities and helper functions for Check development
  • Improve quality by introducing a better testing approach for integration tests
  • Make the usage of Zally easier by providing high-quality documentation for
    • End users
    • Check developers
    • Operators and administrators

If you have ideas for these items, please let us know.

Contact

Feel free to join our Gitter room or contact one of the maintainers directly.

Alternatives

Zally is not the only linter for OpenAPI v2 and v3. There is an article comparing different OpenAPI linters.

So why should you choose Zally?

  • It supports Zalando's RESTful Guidelines
  • It can be used in multiple ways: RESTful API, CLI and Web interface
  • Highly customizable (with Kotlin)

License

MIT license with an exception. See license file.

Publish

Prerequisites

Steps

  1. Create a separate branch with a name release-<release-version>.

  2. Update current version in server/gradle.properties from -SNAPSHOT to a final version.

  3. Release Zally server and API using the command

    cd server
    ./gradlew clean build publishAllPublicationsToMavenRepository
    
  4. Commit server/gradle.properties with the release version

  5. Create a tag

    git tag v<release-version> -m "Version <release-version>"
    
  6. Bump version in server/gradle.properties to the next -SNAPSHOT

  7. Push release branch and tag

     git push origin
     git push origin <tag-name>
    
  8. Create a Pull Request with the version update

  9. Create and publish a release with a new version in GitHub

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].