Expose Original Interface Details in Request object
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 9.8k
- Forks
- 1.9k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 41
Description
It would be great to be able access the original method's metadata (i.e. the method's name and potential custom annotations) defined in the interface in the Feign.Request object.
This would be especially useful when instrumenting Feign to do OpenTracing or Micrometer for example. From a REST perspective this will add value if you want to group all your metrics based on the original method name rather than the final URL that might contain a lot of path parameters and be too specific. From a SOAP perspective (where the URL is usually constant, only the body changes) this becomes invaluable as you can use the original interface method name as your identifier.
There are some attempts at doing this (ie. https://github.com/mwiede/metrics-feign/) but if you check the implementation, it has to go through hoops to achieve it because there are no easy integration options available. If this was freely available in all touch points via the Request object this would be a great.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating Feign.Request and tracing how interface method calls become requests. Determine where the original method name and custom annotations are available before request construction. Done means those interface details are accessible through Request at the relevant instrumentation touch points without the workarounds described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100