GeezerVison is showing github.com — feat: add support for schema keywords by cowboy-bebug · Pull Request #2162 · oapi-codegen/oapi-codegen
Conversation
Hi there 👋
I use the tool extensively at work and thought it'd be really great to generate some consts based on the JSON schema keywords.
This PR adds features to handle the keywords such as minimum, maximum, etc.:
paths:
/users:
get:
operationId: listUsers
summary: List users with pagination and filtering
description: Demonstrates inline parameter constraints generating constants
parameters:
- in: query
name: limit
description: Maximum number of items to return
schema:
type: integer
minimum: 1
maximum: 100
default: 20
components:
schemas:
Username:
type: string
minLength: 3
maxLength: 20
default: "guest"
as constants:
// Constraint constants for ListUsersLimit.
const (
ListUsersLimitMinimum int = 1
ListUsersLimitMaximum int = 100
ListUsersLimitDefault int = 20
)
// Constraint constants for Username.
const (
UsernameDefault string = "guest"
UsernameMinLength uint64 = 3
UsernameMaxLength uint64 = 20
)
I didn't find any relevant / related issues. Let me know if this is something valuable to you guys as well 🙏
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Hi @jamietanna, just a quick ping on this PR. I’ve been using this locally for a few weeks and it significantly simplifies marrying request validation with the spec file.
I realized this wasn't in the issues list yet, but it feels like a quality of life improvement that would benefit anyone manually adding min/max constants in application.
I've made sure to include tests and documentation to keep the maintenance burden as low as possible for you.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.