-
-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
formData: mismatch Type #497
Comments
Thanks again @m-rieke, will test this API and see what other issues there are with creating a build! |
@m-rieke I see there spec looks something like this:
I wonder how we should know that this formData array has a key of |
I am not sure if this is changing anything, but I read the following in the Spec: "requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"items": {
"$ref": "#/components/schemas/MultipartFile"
},
"type": "array"
}
}
},
"required": true
}, and MultipartFile is defined as follows: "MultipartFile": {
"additionalProperties": false,
"properties": {
"bytes": {
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"contentType": {
"type": "string"
},
"empty": {
"type": "boolean"
},
"inputStream": {
"type": "object"
},
"name": {
"type": "string"
},
"originalFilename": {
"type": "string"
},
"resource": {
"$ref": "#/components/schemas/Resource"
},
"size": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
} |
@m-rieke thanks for providing that. I will need to see what other code generators do. That still doesn't seem like a proper definition because it doesn't provide the key to use for the form data array. |
I am experiencing a similar problem. Here is the generated code: public static uploadFile(data: $OpenApiTs['/file/upload']['post']['req']): CancelablePromise<$OpenApiTs['/file/upload']['post']['res'][200]> {
return __request(OpenAPI, {
method: 'POST',
url: '/file/upload',
query: {
table_name: data.tableName
},
formData: data.formData,
mediaType: 'multipart/form-data',
errors: {
400: 'Bad Request',
422: 'Validation Error',
500: 'Internal Server Error'
}
});
} Error: src/client/services.gen.ts:726:13 - error TS2322: Type 'BodyUploadFileFileUploadPost' is not assignable to type 'Record<string, unknown>'.
Index signature for type 'string' is missing in type 'BodyUploadFileFileUploadPost'.
726 formData: data.formData,
~~~~~~~~
src/client/core/ApiRequestOptions.ts:8:11
8 readonly formData?: Record<string, unknown>;
~~~~~~~~
The expected type comes from property 'formData' which is declared here on type 'ApiRequestOptions'
Found 1 error in src/client/services.gen.ts:726 OpenAPI "requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_upload_file_file_upload_post"
}
}
}
}, "Body_upload_file_file_upload_post": {
"properties": {
"file": {
"type": "string",
"format": "binary",
"title": "File"
}
},
"type": "object",
"required": [
"file"
],
"title": "Body_upload_file_file_upload_post"
}, |
@jegork I am getting this as well using the fetch client. I have a FastAPI like this Type 'Body_upload_zip' is not assignable to type 'Record<string, unknown>'.
Index signature for type 'string' is missing in type 'Body_upload_zip'.ts(2322)
ApiRequestOptions.ts(15, 12): The expected type comes from property 'formData' which is declared here on type 'ApiRequestOptions' export type Body_upload_zip = {
file: (Blob | File);
};
export type UploadZipData = {
formData: Body_upload_zip;
}; |
Description
On creating a client for JIRA API Client (https://dac-static.atlassian.com/cloud/jira/platform/swagger-v3.v3.json?_v=1.7141.0-0.1305.0) the request for adding an attachment to a ticket has the wrong type and is not compiling.
It fails with the following error:
OpenAPI specification (optional)
No response
Configuration
npx @hey-api/openapi-ts -i https://dac-static.atlassian.com/cloud/jira/platform/swagger-v3.v3.json?_v=1.7141.0-0.1305.0 -o generated/src/client
System information (optional)
No response
The text was updated successfully, but these errors were encountered: