snowdrop-zen / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
1 stars 0 forks source link

Upgrading to 2.2.2 - REST resource extending abstract class fail on POST/PUT #415

Closed snowdrop-bot closed 3 years ago

snowdrop-bot commented 3 years ago

Describe the bug

Upgrading to 2.2.2.Final REST resources, that worked before with 2.1.4, fail upgrading to 2.2.2 with:

ERROR: HTTP Request to /ping/something/method failed, error id: a7a9216a-21e6-4a88-b2fb-79510e13d22b-1
java.lang.RuntimeException: java.lang.NoSuchMethodException: service.PingResource.someMethod(api.Message,api.BaseResource$MethodParams)

If I "override" the method in the derived class it will work.

This also seems to be specific with having the generic type and/or a class "body" that is sent over. Using plain Map (should_run_inherited_method_with_map) works as an example.

Replicator attached. upgrade2.zip

Expected behavior

POST/PUT REST methods inherited from a "base" resource should be exposed/usable through a "derived" class. This worked in 2.1.4 originally.

Actual behavior

POST/PUT resource calls throws NoSuchMethodException on POST/PUT methods.

GET seems to work fine. Raw types, like Map, seems to work fine.

How to Reproduce?

  1. Run the reproducer test case - fails with MethodNotFound.
  2. Change Quarkus version to 2.1.4 - succeeds as expected.

Quarkus version or git rev

2.2.2.Final


https://github.com/quarkusio/quarkus/issues/20008


$upstream:20008$