Comments (5)
It's generated by
Lines 235 to 244 in 78edc00
The purpose is to avoid the same class name defined in different files.
For now, there is no elegant way to disable it. You can patch this function. Or you may strip the suffix. Depends on your requirements.
from spectree.
I understand I can fork but I was trying to avoid having to do that. I understand the goal of avoiding having the same class defined in different files.
My use case is that I'm using tools on my API clients to convert the openapi component schemes into types/classes (for example: openapi-typescript). So is it your opinion that this tools should remove the prefix when naming the classes? I'm not sure this prefixing behavior is something defined in the OpenAPI specification so it might not be fair to expect libraries that consume OpenAPI specifications to be able to handle it.
Thanks for the quick reply. I really appreciate that!
from spectree.
I see your points. I think there is no spec for this.
One possible way to make it easier is moving the related functions to the BasePlugin
static methods. So people can inherit and override part of the methods. We can do this step by step. If you're interested in this, you can refactor this get_model_key
function.
Similar to #297 (comment)
from spectree.
I've been looking at the code to try to implement this refactor but I found some issues with moving it to BasePlugin static methods.
In response.py
I don't seem to have access to the current plugin/backend like I do in the Spectree class:
Line 137 in 78edc00
Any suggestion to what to do here?
from spectree.
I've been looking at the code to try to implement this refactor but I found some issues with moving it to BasePlugin static methods.
In
response.py
I don't seem to have access to the current plugin/backend like I do in the Spectree class:Line 137 in 78edc00
Any suggestion to what to do here?
This is only used in tests as far as I can tell so I'll go ahead and do the refactor and we can keep discussing how we can refactor the tests.
from spectree.
Related Issues (20)
- [Question] It's possible to use marshmallow instead of pydantic to define schemas? HOT 1
- [BUG] Spectree flask plugin is logging request validation errors twice HOT 2
- [Question] Is it possible to specify a BaseModel class as a Redoc Model? HOT 1
- Potentially leaky tests HOT 1
- Falcon: before in validate decorator not working?
- [Question] Skip validation for real? HOT 8
- Exclude routes from OpenAPI spec HOT 1
- Feature Request: Remove Duplicate Schema Components HOT 3
- feat: support `msgspec` as another schema definition
- feat: Disable publishing of /apidoc route HOT 1
- bug: annotations NameError issue caused by python bug HOT 1
- bug: spectree doesn't support pydantic 2.x but doesn't restrict in pyproject.toml HOT 1
- bug: don't support pydantic v2 HOT 5
- feat: add an abstract layer to support pydantic[v1]/pydantic[v2]/msgspec
- bug: Flask Response Validation Error Results in Exception, Unintended 500 content HOT 1
- bug: An empty request is not validated / the content type is not enforced HOT 1
- bug: SecuritySchemeData root_validator conflicts with alias HOT 2
- bug: field alias no longer respected (regression) HOT 6
- bug: List[int] in query params does not accept a list of size 1 in flask app HOT 2
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 spectree.