一、如何重定向 最近有业务需要用到重定向,摸索了很久,下面是代码: @RestControllerpublic class FirstController { @PostMapping("/test") public voi
一、如何重定向
最近有业务需要用到重定向,摸索了很久,下面是代码:
@RestControllerpublic class FirstController { @PostMapping("/test") public void login(httpservletRequest req,HttpServletResponse resp) throws ioException { // 构造重定向的路径: String username = req.getParameter("username"); String passWord = req.getParameter("password "); url.append("http://192.168.xx.xx/login?").append("username=").append(username).append("&") .append("password=").append(password); String redirectToUrl = url.toString(); // 发送重定向响应: resp.sendRedirect(redirectToUrl); }}
实现的功能:访问/test接口,将参数username和password拼接在需要重定向的url上一起重定向到指定的地址。
二、对于参数的获取
在接口参数里添加HttpServletRequest request
如果是get请求或者post的fORM-data类型使用如下方法:
//values是参数的值,可以是参数的名称String value = request.getParameter(key);
如果是post请求的body类型:
//获取到body的JSON字符串private String getBodyData(HttpServletRequest request){ LOG.info("get request body"); StringBuffer data = new StringBuffer(); String line; BufferedReader reader = null; try { reader = request.getReader(); while (null != (line = reader.readLine())) data.append(line); } catch (IOException e) { LOG.warn("get request body error: ", e); throw new CustomSsoException("获取body异常"); } finally { if (reader != null){ try { reader.close(); } catch (IOException e) { LOG.error("reader close error:",e); } } } return data.toString();}//利用上面的方法获取到body的json字符串,然后取值//value是需要取得参数的值,key是参数名public void getValue(HttpServletRequest request){ String jsonBody = getBodyData(request); JSONObject jsonObject = JSON.parseObject(jsonBody); String value = jsonObject.getString(key)}
来源地址:https://blog.csdn.net/chou_kawaii/article/details/127869293
--结束END--
本文标题: java实现重定向(springboot)
本文链接: https://lsjlt.com/news/406272.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0