-
Notifications
You must be signed in to change notification settings - Fork 33
Support JSON streaming #832
Copy link
Copy link
Closed
Description
Currently the handling of JSON streaming fails due to failing deserialization of the streamed data. As an example we are trying to do that in a python client but I guess in general it applies to all languages.
OpenAPI spec file:
openapi: 3.0.0
components:
examples: { }
headers: { }
parameters: { }
requestBodies: { }
responses: { }
schemas: { }
info:
title: the test title
version: '1'
description: 'The test REST API'
contact: { }
paths:
/test/stream:
get:
operationId: StreamData
responses:
"200":
description: Ok
content:
application/json-lines:
schema:
type: string
headers:
Content-Type:
schema:
type: string
enum:
- application/json-lines
nullable: false
required: true
parameters:
- in: header
name: Accept
required: true
schema:
type: string
enum:
- application/json-lines
servers:
- url: http://localhost:5000/api/v1
description: Local development
gen.yaml file:
configVersion: 2.0.0
generation:
sdkClassName: SDK
maintainOpenAPIOrder: true
usageSnippets:
optionalPropertyRendering: withExample
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
auth:
oAuth2ClientCredentialsEnabled: false
python:
version: 0.0.1
additionalDependencies:
dev: {}
main: {}
authors:
- Speakeasy
clientServerStatusCodesAsErrors: true
description: Python Client SDK Generated by Speakeasy
enumFormat: enum
flattenGlobalSecurity: true
flattenRequests: false
imports:
option: openapi
paths:
callbacks: models/callbacks
errors: models/errors
operations: models/operations
shared: models/components
webhooks: models/webhooks
inputModelSuffix: input
maxMethodParams: 4
methodArguments: require-security-and-request
outputModelSuffix: output
packageName: openapi
projectUrls: {}
responseFormat: flat
templateVersion: v2
I know that there are multiple approaches how to implement the streaming in detail and it probably doesn't make sense to implement the correct handling on your side but as a quick solution it would be perfectly fine to just return the raw response and handle the correct deserilaziation on our side.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels