I am trying to narrow down the PMD rules, how can I exclude all REST methods which are annotated with @GET from PMD checks?
PMD provides several ways to suppress warnings: http://pmd.sourceforge.net/pmd-5.2.3/usage/suppressing.html
You can also excluding complete files - see http://pmd.sourceforge.net/pmd-5.2.3/customizing/howtomakearuleset.html - Excluding files from a ruleset
For your case, violationSuppressXPath, this XPath expression should work:
./ancestor::ClassOrInterfaceBodyDeclaration/Annotation/MarkerAnnotation/Name[@Image='GET']
This will go up (ancestor) from the current node (which might be inside a method) to the method declaration ("ClassOrInterfaceBodyDeclaration") and goes down the tree from there to check for the @GET annotation. However, I don't know about the performance impact.
Update:
Complete example: