Comments (8)
@SerVB I changed the model acquisition system in the new release. Please verify if your issue persists or not.
from ktor-openapi-generator.
Hi, Generics classes are unsupported.
Reflection is used during initialization, and generic types are erased. See JVM type erasure. This is one of the biggest caveats of JVM languages...
One way around it is to wrap your generic types like this:
class NotGeneric: GenericClass<Generic>()
This should allow the reflection to find the appropriate types.
from ktor-openapi-generator.
As for the nulls, the library currently relies on ktor to serialize the model into json. The mapper.setSerializationInclusion(Include.NON_NULL)
should be activated for Jackson.
from ktor-openapi-generator.
Although thinking about it, the KType information seems to have the generic information... Maybe there is a way to handle it.
from ktor-openapi-generator.
Also, there is a hook in the configuration that allows you to properly rename the classes to be digestible by the standard.
from ktor-openapi-generator.
https://github.com/papsign/Ktor-OpenAPI-Generator/releases/tag/0.1-beta.1
Fixed. Marking as closed.
from ktor-openapi-generator.
@Wicpar, thank you! I see many changes, for example, T
and kotlin.collections.List
have disappeared.
However, there are things that I still don't understand:
minimum: null/maximum: null
forstring
andboolean
seem redundant.
If I do mapper.setSerializationInclusion(Include.NON_NULL)
, these redundant lines disappear but it's not a solution, because also my server stops sending fields with null values. I want it to continue sending objects like {"data": null}
.
minimum: -2147483648
forid: int32
isn't appropriate, I want it to start with0
.
So is there a way to annotate it?
from ktor-openapi-generator.
these are separate issues...
Currently the model is made with data classes and serialised from it. I'll have to change the whole model system to make it work like that. This can be quick fixed with a separate object mapper that serialises it to string in the openapi.json endpoint.
Also, currently there are no @min @max annotations. Though it can be added quite rapidly iirc.
from ktor-openapi-generator.
Related Issues (20)
- Problem with authentication HOT 11
- Reusable enums
- Enum parser is okay with wrong values HOT 3
- Deserialisation of List<UUID> in body fails during runtime HOT 1
- Can't set name of token parameter or cookie name in SecurityScheme
- Add response header to a route
- Default values on @QueryParam HOT 4
- Overriding a primitive converter (UUID) HOT 5
- Serializing collections of different element types is not yet supported HOT 4
- API route with Any must be a data class. HOT 4
- File upload HOT 10
- @Description annotation doesn't work HOT 3
- Is there a simple way to split the endpoints of an application in two different openapi-files? HOT 1
- @HeaderParam is adding header to request body instead of request header
- Support for Ktor 2.0.0 HOT 13
- Enum classes are generated for each usage instead of a schema that can be reused
- How to properly indicate a application/x-www-form-urlencoded response HOT 1
- @Hidden annotation for fields in request / response body HOT 2
- Suggestion for conditional validation HOT 1
- Description for response HOT 1
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 ktor-openapi-generator.