controllers/helpers/pagination: Read query parameters via axum::Query
extractor
#10196
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.
This avoids allocating a bunch of
String
instances for all the keys and values in the query string when all we need is three optional fields, of which two are just integers. This PR also usesNonZeroU32
for thepage
andper_page
parameters, since we were throwing errors for values below 1 anyway.Admittedly the error messages aren't perfect, since they don't include the field name of the value that couldn't be parsed, but that is something that can be improved centrally in the
Query
extractor or the underlying serde deserializer.