Spring の MockMVC を使用して記述しているテストのリクエスト パラメーターとして JSON をエンコードしようと数時間試みましたが、うまくいきませんでした。
私のテストは次のようになります
@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 にエンコードされたパラメーターを理解させるために何が欠けていますか?
助けてくれてありがとう