Comments (3)
I think it can automatically generate a (rather useless) name but then the user can create a mapping based on the host (not including port for YAML purposes),
servers:
- https://production.com:Production
- http://staging.dev:Staging
Edit: well, I guess port removal would actually be problematic in case they separate based on ports. Also if the URLs differ by subdirectories, so full URL mapping would be needed.
Edit to the edit: didn't know about templating for URLs, seems like this would be an extensive feature.
from createapi.
Right, maybe it's best to leave it out of the scope, just like authentication. I don't see how you can possibly generate anything useful without having a basic name
field.
from createapi.
I think this would be possible with just a full mapping of the URL, template and all.
servers:
- production: "https://production.com"
- developing: "https://{customerId}.developing.com"
OpenAPIKit gives us an extensive URLTemplate
object which we can probably create an enum
for each server and the variables are filled in as the associated values:
enum Servers {
case production
case developing(customerId: String)
var url: URL? {
...
case .developing(let customerId):
// replace the variables in a URLTemplate and use their built in `.url` construction
// or whatever we put here
}
}
The ParallelDocumentParser
just needs the decoding:
var servers: Result<[OpenAPI.Server], Error>!
perform(in: group) {
servers = Result(catching: { try container.decode([OpenAPI.Server].self, forKey: .servers) })
}
While there is no name
feature which would be the best thing, we can just have the default be alphabetical. This default doesn't seem like an issue for me as users that would use this feature would manually create the mapping anyways to work with it.
from createapi.
Related Issues (20)
- Entity Individual Property Swift Type Override HOT 3
- Incorrectly formatted entity name HOT 2
- Request uses incorrect body instead of asQuery HOT 1
- Schema component named `Request` generates ambiguous code HOT 4
- `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`
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.