String json = resultActions.andDo(print()).andReturn().getResponse().getContentAsString();
时间: 2024-04-25 07:27:22 浏览: 97
这一行代码从 MockMvc 的 ResultActions 对象中获取响应内容并将其作为字符串返回,存储在名为 json 的字符串变量中。具体地说,它使用了 ResultActions 对象的 andDo() 方法和 print() 方法打印出响应的内容,然后使用 andReturn() 方法获取响应结果,并使用 getResponse() 方法获取响应对象,最后使用 getContentAsString() 方法将响应内容转换为字符串类型。
相关问题
public void queryShopList() throws Exception { String session3rd = getSession3rd(); Map<String, String> head = new HashMap<>(); head.put("session3rd", session3rd); head.put("v", "100"); HttpHeaders httpHeaders = TestHeadUtil.getHttpHeaders(); httpHeaders.set("openId", "ossjE5VyWgsU-QcNKO_3OfpBNG3c"); httpHeaders.set("appType", "nft"); httpHeaders.set("v", "100"); httpHeaders.set("session3rd", session3rd); Map<String, String> bean = new HashMap<>(); bean.put("session3rd", session3rd); bean.put("couponId", "207504"); bean.put("lat", "23.12463"); bean.put("lng", "113.36199"); bean.put("limit", "10"); bean.put("page", "1"); // bean.put("data", "45FD95D0B7A233898C8ECA775042ECCC0860525875BB738A030389B0C3E9B7CBEB3A4B6636CC9732057434FFC32D11186E2C4176B84B06904D122E0400692CFBB24115ACB1F6DB7755CF5AAC1F7F1B95C9D8A398867DFFC45B6DC6274E154D8E7FDD34A9E11558D9AE161ECC8DF808377429A850FB48344FFC7000E3ED1257F2D3B565E5ED39AA67CFDE867C02DE9614341A3E55F52391D5B50834BD00B05C16"); // String content = RequestUtil.getEncodeParam(session, bean); String content = JSONObject.toJSONString(bean); ResultActions resultActions = mvc.perform(MockMvcRequestBuilders.post("/api/yiqilaiCoupon/coupon/queryShopList") .content(content).contentType(MediaType.APPLICATION_JSON) //.contentType(MediaType.TEXT_PLAIN) .headers(httpHeaders)) .andExpect(status().isOk()); resultActions.andReturn().getResponse().setCharacterEncoding("UTF-8"); String json = resultActions.andDo(print()).andReturn().getResponse().getContentAsString(); assert JSONObject.parseObject(json).getIntValue("result") == 0; }
这是一个 Java 代码段,它似乎是使用 Spring MVC 框架编写的。代码中定义了一个名为 queryShopList 的方法,该方法抛出 Exception 异常。该方法中创建了一个名为 session3rd 的字符串变量,以及两个名为 head 和 bean 的 Map 对象。在 head 中存储了一些键值对,如 session3rd、v、openId、appType 等。在 bean 中存储了一些键值对,如 session3rd、couponId、lat、lng、limit、page 等。代码中使用了 MockMvcRequestBuilders 类中的 post() 方法,对 "/api/yiqilaiCoupon/coupon/queryShopList" 接口进行了 POST 请求,并传递了一个 JSON 格式的参数。最后,使用 assert 断言判断返回的 JSON 中的 result 值是否为 0。
public String login() throws IOException { HttpServletRequest request = ServletActionContext.getRequest(); String username = request.getParameter("username"); String password = request.getParameter("password"); String role = request.getParameter("role"); User user = userDao.selectBean(" where username = '" + username+ "' and password= '" + password + "' and userlock=0"); if (user != null && role.equals(user.getRole()+"")) { HttpSession session = request.getSession(); session.setAttribute("user", user); this.setUrl("index"); return "redirect"; } else { HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncoding("gbk"); response.getWriter().print( "<script language=javascript>alert('用户名或者密码错误');window.location.href='index';</script>"); } return null; }解释此代码
这是一个 Java Web 项目中的登录功能的代码,其中包含了一个 login 方法。该方法首先获取 HttpServletRequest 对象,然后从请求参数中获取用户名、密码和用户角色信息。接下来,通过 userDao 对象调用 selectBean 方法,查询数据库中是否存在该用户,并且该用户没有被锁定。如果查询到了该用户,并且用户的角色和请求中的角色一致,就将该用户信息存储到 HttpSession 中,并将跳转路径设置为 index。如果查询不到该用户或者角色不一致,则向 HttpServletResponse 中写入一个 JavaScript 代码,弹出一个提示框,提示用户名或密码错误,并跳转回 index 页面。最后,返回 null。