Hi I have a Spring mvc controller
@RequestMapping(value = "/jobsdetails/{userId}", method = RequestMethod.GET) @ResponseBody public List<Jobs> jobsDetails(@PathVariable Integer userId,HttpServletResponse response) throws IOException { try { Map<String, Object> queryParams=new LinkedHashMap<String, Object>(); queryParams.put("userId", userId); jobs=jobsService.findByNamedQuery("findJobsByUserId", queryParams); } catch(Exception e) { logger.debug(e.getMessage()); response.sendError(HttpServletResponse.SC_BAD_REQUEST); } return jobs; }
I want to see how the JSON String will looks like when I run this. I wrote this test case
@RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration("classpath:webapptest") @ContextConfiguration(locations = {"classpath:test-applicationcontext.xml"}) public class FindJobsControllerTest { private MockMvc springMvc; @Autowired WebApplicationContext wContext; @Before public void init() throws Exception { springMvc = MockMvcBuilders.webAppContextSetup(wContext).build(); } @Test public void documentsPollingTest() throws Exception { ResultActions resultActions = springMvc.perform(MockMvcRequestBuilders.get("/jobsdetails/2").accept(MediaType.APPLICATION_JSON)); System.out.println(/* Print the JSON String */); //How ? } }
How to get the JSON string?
I am using Spring 3, codehause Jackson 1.8.4
RequestMapping annotation is used to map web requests onto specific handler classes and/or handler methods. @RequestMapping can be applied to the controller class as well as methods.
public interface MvcResult. Provides access to the result of an executed request.
Try this code:
resultActions.andDo(MockMvcResultHandlers.print());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With