Я пытался в течение нескольких часов закодировать JSON в качестве параметра запроса для теста, который я пишу с использованием Spring MockMVC, но безуспешно.
Мой тест выглядит так
@Before
public void setUp() {
mockMvc = MockMvcBuilders.standaloneSetup(new TestController())
.build();
}
@Test
public void shouldReturnJSONGeneratedByView() throws Exception {
String sampleJson = "{\"key\":\"value\"}";
String json = UriComponentsBuilder.newInstance()
.path(sampleJson)
.build().encode().toUriString();
mockMvc.perform(MockMvcRequestBuilders.get("/Node?json="+json))
.andExpect(status().isOk());
}
Но строка, которая достигает моего контроллера, по-прежнему закодирована ("%7B%22key%22:%22value%22%7D") и поэтому не может быть десериализована как JSON.
Чего мне не хватает, чтобы Spring понял закодированные параметры?
Спасибо за любую помощь