2017-09-07 2 views
1

J'utilise Spring framework for Rest Service. J'ai une API Rest ci-dessous qui a l'ID @PathVariable. Mais après l'obfuscation de Proguard, le paramètre 'id' est changé en quelque chose comme 'parama' qui fait que le REST ne fonctionne pas car il ne correspond pas à la définition dans @RequestMapping. Comment puis-je le résoudre pour conserver le nom du paramètre?Comment conserver le nom du paramètre @PathVariable après obfuscation par Proguard

@RequestMapping(value = "/{id}", method = RequestMethod.GET) 
public void getAccount(@PathVariable int id) { 
     ... 
} 

Répondre

0

Le -keepparameternames conserve les noms des paramètres dans les attributs « LocalVariableTable » et « LocalVariableTypeTable » des méthodes de bibliothèques publiques.

Voici ma configuration PROGUARD:

-keepparameternames 
-keepattributes SourceFile,LineNumberTable,*Annotation* 
-keepclasseswithmembers class test.rest.controller.* { 
    public <methods>; 
}