2016-03-27 3 views
0

私は現在、私は1つのパラメータを要求してちょうど1エンドポイントを持って、春のMVCで休憩コントローラを書いている:私はよRESTのURL

@RequestMapping(value = "/city", method = RequestMethod.GET) 
@ResponseBody 
public List<String> getCities(@RequestParam String name) { 
    ... 
} 

いくつかの特殊文字(á、é、ő、ű、ú...)を持つことができるハンガリーの都市名を扱う - それらはすべてデータベースから来ています。

私はこれで残りのエンドポイントを呼び出すとき:

/serviceoffer/region/city?name=Borsod-Aba%C3%BAj-Zempl%C3%A9n 

を私は名前にこの文字列を取得:

Borsod-Abaúj-Zemplén 

が、私はこれを取得する必要があります

Borsod-Abaúj-Zemplén 

Iドンそれがエンコード/デコードの問題であるかどうかは分かりませんが、私はそれを何の成功もなしにデコードしようとしました。

解決策は何ですか? 多くの感謝!

+0

どのようなサーブレットコンテナを使用していますか/どのようにアプリケーションを展開しますか? – fateddy

+0

私はApache Tomcat 7を使用しています。私はSTSで使用しています。プロジェクトは早い段階にあるので、私は最も簡単な方法でアプリを実行しています。 – user2984100

+0

http://wiki.apache.org/tomcat/FAQ/CharacterEncoding#Q8 – fateddy

答えて

0

私は、Tomcat 8に私のTomcat 7を変更し、問題はあなたがのTomcat = 7 <を使用しているので...奇妙な...

+0

あなたの問題は解決しましたが、tomcat 7はどうですか? –

+0

Tomcat8 URIEncodingのデフォルトはUTF8 - TC7のデフォルトはISO8859-1です。 https://wiki.apache.org/tomcat/FAQ/CharacterEncodingについてもう少し知る必要があります。 – fateddy

0

解決し、要求をGETして、あなたはからはURIEncodingを変更する必要がありますISO8859-1をUTF-8にデフォルト設定します。 HTTPコネクタの設定をconfig/server.xmlに変更してください:

<Connector ... URIEncoding="UTF-8" />