Build your own OData v4 backend services on Node.js

OData endpoint in 10 minutes

With JayStack OData v4 Server you can build your own data endpoints without the hassle of implementing any protocol-level code. This framework binds OData v4 requests to your annotated controller functions, and compiles OData v4 compatible response. Clients can access services through OData-compliant HTTP requests. We recommend the JayData library for consuming OData v4 APIs.

Try JayStack OData v4 Server

Why JayStack OData v4 Server?

  • Usable as a standalone server, as an Express router, as a node.js stream or as a library
  • Easy data access with MongoDb, Microsoft SQL Server, MySQL and PostgreSQL using connectors
  • Async controller functions using Promise, async/await or ES6 generator functions
  • Sync and async controller functions
  • TypeScript compatibility
  • Data model definition using annotations
  • Result streaming
  • Media entities

OData features

    • Compatibility with OASIS Standard OData Version 4.0
    • Expose service document and service metadata – $metadata * Setup metadata using decorators or metadata JSON
    • Supported data types such as Edm primitives, complex types, navigation properties
    • Create entities
    • Read and query entities
    • Update entities with delta changes
    • Delete entities
    • Action imports
    • Function imports
    • Collection-bound actions
    • Collection-bound functions
    • Entity bound actions
    • Entity bound functions
    • Support for full OData query language using odata-v4-parser
      • filtering entities – $filter
      • sorting – $orderby
      • paging – $skip and $top
      • projection of entities – $select
      • expanding entities – $expand
      • $count

Q&A

  • Q: Can I configure authentication?
  • A: Yes, you can use express middleware to add security to your data service.
  • Q: Can I use authorization?
  • A: You can add custom user management and authorization rules in your controller code.
  • Q: Can I publish my service in OData 1/2/3 format?
  • A: The framework uses OData v4 standard for now.
  • Q: What kind of databases does odata-v4-server support?
  • A: The framework comes with a default odata-v4-mongodb and odata-v4-sql connectors that translate OData queries to MongoDB, MSSQL MySQL and PostgreSQL queries automatically, although there is no limitation in terms of database technologies, you can add connect to any databases manually. Please read JayStack OData v4 Server feature matrix to learn the different feature set of all available database connectors