GeezerVison is showing github.com — fix: make mixed CRUD method directives order-independent by 014-code · Pull Request #867 · APIJSON/APIJSON
Conversation
Summary
Fixes #809.
Mixed CRUD requests containing @post, @put, or @delete could be parsed incorrectly depending on the order of fields in the JSON object.
For example, when a business object appeared before its @delete directive, the object could fall back to GET or use the method assigned to a related array entry.
Root Cause
AbstractParser.batchVerify collected method directives and processed business objects in the same loop.
Therefore, a directive only affected objects appearing after it in iteration order.
Changes
- Pre-scan all supported method directives before processing business objects
- Make mixed CRUD method dispatch independent of JSON field order
- Preserve the priority of an object's explicit
@method
- Keep method directive values limited to String or JSONObject
- Add documentation for deleting and batch inserting into the same table
- Add regression tests for method ordering, priority, and invalid array values
Verification
mvn -q -f APIJSONORM/pom.xml test
- Tests run: 3
- Failures: 0
- Errors: 0
git diff --check passed
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
TommyLemon reacted with thumbs up emoji
TommyLemon reacted with heart emoji
All reactions
-
👍
1 reaction
-
❤️
1 reaction
TommyLemon
commented
Jul 26, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Good, thank you contribute again~
This PR is a little bit big, so I need some time to review and test the change.
|
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.
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.
[问题咨询] 同一个json请求中,同时新增和删除
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.