-
Notifications
You must be signed in to change notification settings - Fork 193
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
Type of TimeSpan incorrectly inferred as complex object instead of string #401
Comments
@basilfx Thanks for the issue! Did you mean the TimeSpan instance should look like this? https://dotnetfiddle.net/tyLTMW I mean the TimeSpan instance is serialised like above (as a string value), so the OpenAPI document should also follow it? |
Yes, that's what I would expect, and that is how Newtonsoft.Json (used by AF for serializing an IActionResult) serializes a TimeSpan by default. |
I am also running into this issue. As I am generating a client, the deserialization will fail. |
@justinyoo Any update on this issue? Anything I can do to help? |
Did you by chance find a workaround/fix? |
Describe the issue
The type that is inferred for a
TimeSpan
is a complex object. Instead, I would expect astring
(something like1.00:00:00
).A simple
HttpTrigger
that returns anOkObjectResult
serializes aTimeSpan
to a string, whereas the extension resolves a complex object for its schema definition. If I am correct, the OkObjectResult uses the Newtonsoft.Json serializer.I tried to 'override' it using a
JsonConverter
attribute, but that does not work. Neither does adding[DataType(DataType.Duration)]
.To Reproduce
See this demonstration project: https://github.com/basilfx/azure-functions-openapi-function-timespan
Expected behavior
TimeSpan
schema type is inferred as astring
.Screenshots
Note how the result is different from the example schema.
Environment (please complete the following information, if applicable):
The text was updated successfully, but these errors were encountered: