Git Product home page Git Product logo

openapiquery's Introduction

OpenApiQuery

Disclaimer: This project is still in a very early proof-of-concept phase and not ready for any production.

OpenApiQuery is a library inspired by OData to provide an easy way of interacting with your REST API resources. It adopts from OData parts of the query syntax as described in the OData specification OData Version 4.01. Part 2: URL Conventions

The ultimate goal is to support a full OData alike experience with using an OpenAPI specification as replacement for the EDM where needed. Hence the name OpenApiQuery.

Framework features

Feature Description Status
$select Limit the returned properties Supported
$filter Filter result entities Supported
$expand Include related navigation properties Supported
$expand($filter) Filter related navigation properties which are included Supported
$expand($expand) Filter related navigation properties which are included Supported
$expand($orderby) Apply ordering to the expanded navigation properties Supported
$expand($skip) Apply paging to the expanded navigation properties Supported
$expand($top) Apply paging to the expanded navigation properties Supported
$skip Skip N elements in the result set Supported
$top Select the top N elements in the result set Supported
$count Provide the total count of items in the data source (with filters applied) Supported
Delta<T> Accept a partial entity Not yet supported
SingleResult<T> Return a single entity with select and expand capabilities Not yet supported
Open Types Extend your entities with any dynamic property Not yet supported
Data Aggregation See OData Extension for Data Aggregation Version 4.0 Not yet supported

OData URL Conventions Compatibility

Feature Status
3. Service Root URL Not planned
4. Resource Path All not planned unless mentioned below
4.8 Addressing the Count of a Collection Not yet supported (only planned for system query options)
4.11 Addressing Derived Types Not yet supported (only planned for system query options)
5. Query Options -
5.1. System Query Options Partially Supported
5.1.1 Common Expression Syntax -
5.1.1.1.1 Equals Supported
5.1.1.1.2 Not Equals Supported
5.1.1.1.3 Greater Than Supported
5.1.1.1.3 Greater Than Supported
5.1.1.1.4 Greater Than or Equal Supported
5.1.1.1.5 Less Than Supported
5.1.1.1.6 Less Than or Equal Supported
5.1.1.1.7 And Supported
5.1.1.1.8 Or Supported
5.1.1.1.9 Not Supported
5.1.1.1.10 Has Supported
5.1.1.1.11 In Supported
5.1.1.2.1 Addition Supported
5.1.1.2.2 Subtraction Supported
5.1.1.2.3 Negation Supported
5.1.1.2.4 Multiplication Supported
5.1.1.2.5 Division Supported
5.1.1.2.6 Modulo Supported
5.1.1.3 Grouping Supported
5.1.1.5.1 concat Partially Supported (string)
5.1.1.5.2 contains Partially Supported (string)
5.1.1.5.3 endswith Partially Supported (string)
5.1.1.5.4 indexof Partially Supported (string)
5.1.1.5.5 length Supported
5.1.1.5.6 startswith Partially Supported (string)
5.1.1.5.7 substring Partially Supported (string)
5.1.1.6 Collection Functions Not yet supported
5.1.1.7 String Functions Not yet supported
5.1.1.8 Date and Time Functions Not yet supported
5.1.1.9 Arithmetic Functions Not yet supported
5.1.1.10 Type Functions Not yet supported
5.1.1.11 Geo Functions Not yet supported
5.1.1.12 Conditional Functions Not yet supported
5.1.1.13 Lambda Operators Not yet supported
5.1.1.14.1 Primitive Literals Partially Supported (null, bool, int, double, single, string, dateTimeOffset, guid, long
5.1.1.14.2 Complex and Collection Literals Partially Supported (no aliases)
5.1.1.14.3 null Supported
5.1.1.14.4 $it Not yet supported
5.1.1.14.5 $root Not yet supported
5.1.1.14.6 $this Not yet supported
5.1.1.15 Path Expressions Supported
5.1.2 System Query Option $filter Supported
5.1.3 System Query Option $expand Supported
5.1.4 System Query Option $select Supported
5.1.5 System Query Option $orderby Supported
5.1.6 System Query Options $top and $skip Supported
5.1.7 System Query Option $count Supported
5.1.8 System Query Option $search Not planned
5.1.9 System Query Option $format Not planned
5.1.10 System Query Option $compute Not planned
5.1.11 System Query Option $index Not planned
5.1.12 System Query Option $schemaversion Not planned
5.2. Custom Query Options Supported
5.3. Parameter Aliases Not yet supported

openapiquery's People

Contributors

danielku15 avatar hairlesshobo avatar kusc-leica avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.