2017-03-17 2 views
0

In meinem Frühjahr Boot-Anwendung ich eine API@PathVariable ist einfach nicht funktioniert

@RequestMapping(value = "/abc/{input}", method=RequestMethod.GET) 
@ResponseBody 
public WhitelistStatus getInput(@PathVariable("input") String input); 

habe ich diese Anwendung eingesetzt und machte einen Anruf - http://localhost:8080/abc/123

ich eine Debug-Punkt in meinem Code zu setzen und den Weg variable Eingabe, die "123" sein sollte, wird immer als Null ausgegeben.

Ich habe versucht, dies für einige Zeit jetzt zu lösen. Es gibt keine Mehrdeutigkeit in der URL, da dies die einzige API ist. Kann mir bitte jemand sagen, was ich hier falsch mache?

+1

ich nicht sehen Problem. Vielleicht ein falscher Import von @PathVariable? Können Sie bitte Ihre volle Klasse zeigen? – Patrick

+0

@ResponseBody Annotation ist nicht für Ihren Anruf erforderlich .... Bitte veröffentlichen Sie die gesamte Datei und pom.xml, wenn Sie weitere Hilfe benötigen. – VelNaga

+0

Was meinst du mit "im Einsatz"? Ich sehe auch kein Problem in diesem Code. – rdlopes

Antwort

1

Nun, ich habe das Problem gefunden. Ich muss auch @PathVariable Annotation in der Implementierungsmethode hinzufügen. Ich hatte es nur in der Schnittstelle und es funktioniert!

0

Ich hatte das gleiche Problem, aber jetzt ist es gelöst.
Fügen Sie @PathVariable auch auf Klassenebene hinzu, da PathVariable nicht von der Schnittstelle geerbt wird, weshalb es nicht funktioniert.

Add (auf Klassenebene Umsetzung): -
öffentlichen WhitelistStatus GetInput (@PathVariable ("input") String-Eingang) {

// Implementierungscode hier

}

Verwandte Themen