Git Product home page Git Product logo

Comments (4)

LePips avatar LePips commented on June 21, 2024 1

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.

js avatar js commented on June 21, 2024 1

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.

devraj avatar devraj commented on June 21, 2024

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.

liamnichols avatar liamnichols commented on June 21, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.