Comments (8)
Batch Requests are very important and have been significantly enhanced with OData V4.
We even introduced JSON Batch Format because the multipart format isn't for the faint of heart.
However: Swagger UI has no support for multipart request bodies, so showing the /$batch
path in Swagger/OpenAPI wouldn't help much for those unfamiliar with OData. And those familiar with OData will know that it is there, and how to use it.
What documentation would you expect on the /$batch
path in addition to a link to the OData specification?
from odata-openapi.
Maybe just a POST /batch$ endpoint, a short description and a link to the OData specification or OData documentation?
Just so developers are aware.
from odata-openapi.
I would agree that a short description and a link to the ODATA Specification would definitely help. Below is just a first idea how it could look like in swagger 2.0. Of course it would be great it if the example for this endpoint would use one or more endpoints which actually exist in the specification.
paths:
/$batch:
post:
summary: Using the $batch endpoint, multiple requests can be bundled into a single one.
description: Group multiple operations into a single HTTP request payload, see [Batch Requests](http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_BatchRequests). **Please be aware that the try it out functionality is not supported** for this request.
parameters:
- name: Host
in: header
type: string
description: Host URL of the service
- name: Content-Type
in: header
type: string
required: true
description: Payload Content-Type, e. g. multipart/mixed;boundary=batch_36522ad7-fc75-4b56-8c71-56071383e77b
- in: body
name: payload
schema:
type: string
example: |
--batch_36522ad7-fc75-4b56-8c71-56071383e77b
Content-Type: application/http
GET /service/Customers('ALFKI')
Host: host
--batch_36522ad7-fc75-4b56-8c71-56071383e77b
Content-Type: application/http
GET /service/Products HTTP/1.1
Host: host
--batch_36522ad7-fc75-4b56-8c71-56071383e77b--
responses:
202:
description: Batch request accepted
default:
$ref: '#/responses/error'
from odata-openapi.
@fbunsmann and @Tiberriver256 please have a look at this example with /$batch
: does that meet your requirements?
Added an example for Swagger 2.0 with /$batch
- here "Try it out" actually works.
from odata-openapi.
Opened issue for Swagger UI to find out how to get OpenAPI 3.0 example working: swagger-api/swagger-ui#5090
from odata-openapi.
Yes! That looks excellent. Thank you!
from odata-openapi.
Also think that looks really good. Thanks Ralf!
from odata-openapi.
Transformation now produces /$batch
path items, see e.g. TripPin example
from odata-openapi.
Related Issues (20)
- Specific OData XML file cannot be converted, only .tmp file is created HOT 2
- Error: spawnSync java ENOENT HOT 3
- Unexpected Token Error HOT 3
- Edm.Int64 PrimitiveType translated to anyOf["string", "integer"] HOT 2
- Support for /$count operation HOT 4
- Openapi specification only documents DELETE and PATCH for single entity URLs HOT 6
- SAP R3 FunctionImport: Documentation Tag in Parameter fails the generation HOT 4
- Property sap:label is not handled HOT 2
- <Key> in Schema creates errors HOT 1
- Empty output while converting `https://graph.microsoft.com/beta/$metadata` HOT 6
- FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory HOT 5
- More than two annotation target path segments HOT 5
- Unexpected node HOT 4
- Error in Conversion .edmx to OpenAPI format HOT 1
- documentation item HOT 2
- Could it be possible to generate for a part of the odataModel ? HOT 31
- Support annotation Core.ComputedDefaultValue
- TypeError: model.element(...).find is not a function HOT 4
- Missing cli feature: Add $metadata operation and root HOT 4
- Covert XMl to open api failes HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from odata-openapi.