最近、3.0.4 から spring 3.2.2 にアップグレードしました。アップグレード後、コントローラー関数の「RequestBody」パラメーターがエスケープまたは URL コード化されていることに気付きました。spring-beans と spring-mvc の schemaLocation を 3.2.xsd に更新しました。
たとえば、以下のコントローラー関数で
@RequestMapping(value = "/getFunnyFilters", method = RequestMethod.POST)
public ModelAndView getFunnyFilters(@RequestBody String body, HttpSession session) {
3.0.4 の body の値は
{"selectedFilters":{"values":[]}}
一方、3.2.2 では
%7B%22selectedFilters%22%3A%7B%22values%22%3A%5B%5D%7D%7D=
設定が欠落しているか、3.2.2 のデフォルトの動作です。任意の入力をいただければ幸いです。
ありがとう