OData v4 Protocol

Bowire discovers OData services by fetching the $metadata endpoint and parsing the EDMX/CSDL document. Entity sets become services, CRUD operations become methods.

Setup

dotnet add package Kuestenlogik.Bowire.Protocol.OData

Standalone

bowire --url http://localhost:5020/odata/$metadata

Discovery

Each entity set in the EDM model becomes a service with five methods:

Method HTTP Verb Path Description
GET GET /{EntitySet} Query with $filter, $select, $expand
GET_BY_KEY GET /{EntitySet}({key}) Get by primary key
POST POST /{EntitySet} Create new entity
PATCH PATCH /{EntitySet}({key}) Update entity
DELETE DELETE /{EntitySet}({key}) Delete entity

Input Fields

Entity type properties are reflected as input fields with their EDM types mapped to Bowire field types (string, int64, double, bool).

Query Parameters

For GET requests, use OData system query options in the request body:

{
  "$filter": "Price gt 50",
  "$select": "Name,Price",
  "$orderby": "Name"
}

For key-based operations, include the key:

{
  "key": "42"
}