okhttp请求springboot写的接口中response有时候没有cookie是什么情况?
今天在写一个Android的demo发现问题:
请求已经是成功了,并且在response中能看到从后端返回的数据,但是没有cookie值,且状态码是200,后来去后端获取打印sessionid也没有输出,但是这情况出现了没多久,后来突然就好了,但是还是想请问一下有大佬知道这是不是有什么玄机?有点懵。下面是代码
okhttp请求成功,处理返回的代码如下:
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
//网络请求成功
Log.d("login请求返回:",response.body().string());
// intent.putExtra("response", response.body().string());
//保持回话
Headers headers = response.headers();
List<String> cookies = headers.values("Set-Cookie");
String session = cookies.get(0);
String sessionId = session.substring(0, session.indexOf(";"));
但是发现set-cookie没有值,之后去后端查看并获取打印sessionid也无法输出,获取session的代码如下
public static HttpSession getCurrentSession(){
return getRequest().getSession();
}
public static HttpServletRequest getRequest(){
ServletRequestAttributes requestAttributes =
(ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = requestAttributes.getRequest();
return request;
}
然后是打印sessionid,代码如下:
//这里为什么有时候能获取到session有时候不能?
System.out.println(VGSessionUtils.getCurrentSession().getId());
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论