Skip to content

feat(example-shadow-api-detector): add composed RequestMapping example - #98

Merged
Arc-E-Tect merged 1 commit into
mainfrom
feat/shadow-api-detector-request-mapping-composed-example
Aug 4, 2026
Merged

feat(example-shadow-api-detector): add composed RequestMapping example#98
Arc-E-Tect merged 1 commit into
mainfrom
feat/shadow-api-detector-request-mapping-composed-example

Conversation

@Arc-E-Tect

Copy link
Copy Markdown
Owner

Summary

  • add a new shadow-api-detector example that exercises composed class-level and method-level @RequestMapping endpoints
  • add a dedicated workflow to verify the example with detectShadowApis
  • include the new example in the examples index

Why

The examples suite did not yet cover endpoint composition from class-level and handler-level @RequestMapping declarations. This adds a concrete regression example showing that fully documented composed endpoints do not produce false positives.

Validation

  • actionlint .github/workflows/example-shadow-api-detector-request-mapping-composed-build.yml
  • cd examples/shadow-api-detector/request-mapping-composed && ./gradlew detectShadowApis --no-daemon

What changed:
- add a new shadow-api-detector example project for composed class-level and method-level RequestMapping endpoints
- add the example README and include it from the examples index
- add a dedicated GitHub Actions workflow that runs the example verification task

Why:
- the examples suite did not yet cover endpoint composition from class-level and handler-level RequestMapping declarations
- the plugin needs a regression-proof example showing that fully documented composed endpoints do not produce false positives

How:
- configure the example with the published shadow-api-detector plugin and a minimal rootDocument setting
- add a small Spring Web controller and matching OpenAPI document for the composed endpoints
- wire the example into examples/README.adoc and add workflow coverage for detectShadowApis

Outcomes:
- actionlint passes for the new workflow
- ./gradlew detectShadowApis --no-daemon succeeds in examples/shadow-api-detector/request-mapping-composed
@Arc-E-Tect
Arc-E-Tect merged commit 6ea5163 into main Aug 4, 2026
1 check passed
@Arc-E-Tect
Arc-E-Tect deleted the feat/shadow-api-detector-request-mapping-composed-example branch August 4, 2026 18:18
Arc-E-Tect added a commit that referenced this pull request Aug 4, 2026
# [2.0.0](v1.6.0...v2.0.0) (2026-08-04)

### ✨ New and updated features

* **example-shadow-api-detector:** add composed RequestMapping example ([#98](#98)) ([6ea5163](6ea5163)), closes [#98](#98)
* **gherkin-to-asciidoc:** add indexing DSL property to number features and scenarios ([#99](#99)) ([5c207c4](5c207c4)), closes [#99](#99)
* **shadow-api-detector:** add OpenAPI 3.2 compatibility support and example ([#95](#95)) ([c57432b](c57432b)), closes [#95](#95)

### 🐛 Bug Fixes

* **gherkin-to-asciidoc:** set systemUnderTestVersion in snippet-templates example ([#94](#94)) ([ca7fb34](ca7fb34)), closes [#94](#94)
* **example-shadow-api-detector:** use official published plugin in examples ([#96](#96)) ([bca72d8](bca72d8)), closes [#96](#96)

### BREAKING CHANGE

* **gherkin-to-asciidoc:** includeSubDirs and groupByFeature now default to
true (previously false). A project relying on the old defaults -
particularly one using sourceFile without explicitly setting
includeSubDirs = false, which will now fail validation - must set
includeSubDirs = false and/or groupByFeature = false explicitly to
keep its previous behaviour. Feature file processing order is also
now deterministic (alphabetical by path, directory files before
sub-directory files) instead of filesystem-dependent, which may
reorder scenarios in existing generated reports.
@Arc-E-Tect

Copy link
Copy Markdown
Owner Author

🎉 This PR is included in version 2.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant