Comments (4)
This is definitely related to #84, but this isn't necessarily a bug. Get.Request
is the structure used to create requests, so it makes sense that if a schema object named Request
would conflict. The current consensus of #84 is that the structure to create a request would be generated by CreateAPI, so the default Request
structure would probably always conflict.
Probably the only solution is to use rename.entities
.
However, we could probably display a warning if a schema object name would conflict.
from createapi.
I don't necessarily disagree with it not being a bug, but it did initially confuse and disappoint me slightly so I can imagine the few others hitting this share that sentiment :) I was not aware of rename.entities
, will look into that.
One solution that comes to mind is to always call it as Get.Request
in the generated code? As the generated code lives in a separate package the risk of type conflicts is always there when relying on Swifts namespace/module resolver
from createapi.
Came across the same issue when interacting with the Github
API. I found that the code was generating certain models twice over. I am probably more inclined to go back to using Get
and write the models myself for my use cases.
@kean your examples on the Get
docs refer to OctoKit
as the example. Generating the client using api.github.com.2022-11-28.json
from their schema publications complains about the Assignee
struct, wondering if you have noticed anything similar?
from createapi.
At the very least, it would be good for CreateAPI to warn about naming conflicts as we probably can tell when this might happen 👍
As for renaming Request
to Get.Request
in generated references, that would cause issues with people who import the Request
type from a different dependency (or don't import it at all and define it inline). It's something that #84 could help with for sure though.
from createapi.
Related Issues (20)
- `AnyJSON` type included unexpectedly
- Adjust behaviour of `includeDefaultValues` to favour "correctness" by default HOT 1
- integer backed enums are stored as integer properties as opposed to enums HOT 1
- generated package depends on an old version of Get HOT 3
- Tagged type for IDs? HOT 2
- FR: Entity replace substring, instead of naming template HOT 1
- Equatable conformance HOT 1
- Parameters to be passed in headers are ignored during API generation
- Acronyms change property names without changing corresponding CodingKeys
- Deduplicate identical structs/classes
- Add option to separate GET from POST and PATCH requests and only include Decodable respectively Encodable conformance
- Option for treating non-optional enum with only one case as a static value
- `type` definition in OpenAPI spec is overridden by `format` value
- Is there a way to generate `CodingKeys`?
- How to wildcard rules in include and exclude paths
- Use `Swift Syntax`
- Make 'Request' type name configurable HOT 1
- Will OpenAPI schema v3.1.0 be supported?
- Documentation on how to use decoded entity fields HOT 1
- An OpenAPI file that can't be generated from 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 createapi.