What is Sunday?
Sunday is a code generator and family of client libraries for implementing generated REST clients and server stubs from RAML.
Sunday focuses on implmenting a consistent set of advanced REST features across client & server libraries and languages.
The key features Sunday provides:
- Detailed Error Responses via Problems
- Efficient Notifications via Server-Sent Events
- Dynamic Content-Type Negotiation
- Alternative Request/Response Encodings
- Date/Time Data Types
- Simple & Beautiful Code
The binding technology for Sunday is the Generator which generates clients for all of Sunday's client library implementations.
In addition, the generator also supports generating server and client interfaces for JAX-RS that are customizable for a number of implementations (e.g Quarkus).
Sunday provides dedicated client libraries for the following languages:
- Swift client library for Apple platforms
- macOS , iOS , iPadOS , WatchOS
- Kotlin client library for JVM platforms
- Java, Android
- TypeScript client library for Web platforms
- Browsers (Chrome , Safari , Firefox)
The client library implementations use the latest concurrency features of their respective languages to make their usage effeciant and enjoyable. Concurrency featuers like
await and coroutines are supported where available.
The Sunday code generator generates client APIs targeting the following client libraries:
The Sunday code generator generates server stubs for the following standards based libraries: