【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式

这篇具有很好参考价值的文章主要介绍了【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎉工作中遇到这样一个场景:远程调用某个接口,该接口需要用户的 Cookie 信息进行权限认证,认证通过之后才可以打通并返回数据。

在后端拿到 httpServletRequest 后,调用 getCookies() 方法,返回的是一个 Cookie 类型的数组。Debug 过程中拿到的 cookie 数据结构如下所示:

【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式,问题随笔,Java,java,函数式编程,数组流,stream

因此,需要将数组格式转换为字符串形式,核心代码如下:

private String getCookies(HttpServletRequest request) {
        try {
            Cookie[] cookies = request.getCookies();
            // 将Cookie对象数组转换成字符串形式的Cookie
            if (!CoreTool.isEmpty(cookies)) {
            	// 使用数组流处理
                return  Arrays.stream(cookies)
                        .map(cookie -> cookie.getName() + "=" + cookie.getValue())
                        .collect(Collectors.joining("; "));
            }
        } catch (Exception e) {
            LOGGER.error("获取cookie异常", e);
        }
        return "";
}

类型转换后返回一个字符串格式的 cookie,其内容和在网页端看到的 cookie 内容一致,处理后的 cookie 具体内容以及截图如下:

sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%22KQm5bczi%22%2C%22first_id%22%3A%22184e11a69c8129e-09ca8d731cb9b28-26021851-1327104-184e11a69c9128b%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfbG9naW5faWQiOiJLUW01YmN6aSIsIiRpZGVudGl0eV9jb29raWVfaWQiOiIxODRlMTFhNjljODEyOWUtMDljYThkNzMxY2I5YjI4LTI2MDIxODUxLTEzMjcxMDQtMTg0ZTExYTY5YzkxMjhiIn0%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%24identity_login_id%22%2C%22value%22%3A%22KQm5bczi%22%7D%2C%22%24device_id%22%3A%22184e11a69c8129e-09ca8d731cb9b28-26021851-1327104-184e11a69c9128b%22%7D; sso-token=eyJhbGciOiJIUzI1NiJ9.eyJkZXBhcnRtZW50TmFtZSI6IuWfuuehgOW5s-WPsOe7hCIsImNsaWVudElkIjpudWxsLCJkVXNlcklkIjoiMTgwODI4MTgyMzM3NjEzMzIxIiwidXNlckFjY291bnQiOiJTQzg2MDQiLCJ1c2VyUGhvbmUiOiIxMzU1Mjg2NjY4NSIsImRlcGFydG1lbnRDb2RlIjoiMDI0NTA1MDEiLCJwYXJ0RGVwYXJ0bWVudExpc3QiOm51bGwsInVzZXJFbWFpbCI6Inpob25naHVhLmNoZW5Ad2JzdGFyLmNvbSIsInVzZXJOYW1lIjoi6ZmI5Lit5Y2OIiwiZXhwIjoxNjkzNDgzNTUwLCJ1c2VySWQiOiIzODE3ZmQ5Ni05Y2U5LTRkY2UtODUzMi0wMDNjYzE0YTRkMzcifQ.iRnQquAVvzfJtAX6AUtQGpMe94xLr0bG4EIdykC9idI

【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式,问题随笔,Java,java,函数式编程,数组流,stream
【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式,问题随笔,Java,java,函数式编程,数组流,stream文章来源地址https://www.toymoban.com/news/detail-681310.html

到了这里,关于【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 中数组Array和列表List的转换

    主要介绍Java中Java 中数组Array和列表List的转换。 1.使用Collections.addAll()方法 使用Collections.addAll()方法,返回的List可以执行新增add方法,但该种方式只针对引用对象,不针对基本数据类型,该种方法效率较高,推荐用法。 2.使用new ArrayList()构造器方法 new ArrayList()构造器可以传入

    2024年02月10日
    浏览(34)
  • java 字符串转数组(String to Array)

    java 字符串转数组(String to Array) 数组转List、 判断String数组中是否包含某个字符串

    2024年02月12日
    浏览(36)
  • springboot:时间格式化的5种方法(解决后端传给前端的时间格式转换问题)推荐使用第4和第5种!

    本文转载自:springboot:时间格式化的5种方法(解决后端传给前端的时间显示不一致)_为什么前端格式化日期了后端还要格式化_洛泞的博客-CSDN博客 为了方便演示,我写了一个简单 Spring Boot 项目,其中数据库中包含了一张 userinfo 表,它 的组成结构和数据信息如下:  项目目

    2024年02月10日
    浏览(31)
  • 十、go语言Array(数组)基本使用方法

    Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。 数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引

    2024年02月08日
    浏览(40)
  • Java 浅谈数组(Array)和列表(ArrayList)的区别 介绍Arrays常用方法

    目录 一.数组和列表的区别 1.数组(Array) (1)数组(Array) (2)数组的声明与创建 (3)多维数组 (4)数组的优缺点 2.列表(ArrayList) (1)列表(ArrayList) (2)列表的声明与创建 (3)列表的优缺点 3.数组(Array)与列表(ArrayList)的区别 (1)空间大小 (2)存储内容

    2023年04月09日
    浏览(36)
  • java接收text/event-stream格式数据

    前段时间因为要对接语音转文字接口,对方接口输出的是text/event-stream返回,返回的是流式输出,本人在百度找了好久,一直没有找到关于怎么接收流式返回的文章,可能很多人不清楚流式输出指的是什么,流式输出是和对方建立一个长连接,接口方会一直不断的给我们推送

    2024年02月12日
    浏览(23)
  • 【Java】集合List转换为数组【toArray() /stream()流】实现

    在Java中,集合(List 接口的实现类)提供了一个名为 toArray 的方法,用于将集合中的元素转换成数组。该方法有两个主要的重载形式,分别用于不同的情况。 这个方法将集合中的元素复制到一个指定类型的数组中,并返回该数组。 如果指定的数组大小足够容纳集合中的所有

    2024年02月03日
    浏览(34)
  • 请求后端出现“Content type ‘application/octet-stream‘not supported“错误解决方案

    首先看报错。此报错是Springboot 报错。 看看Postman 正确的传递方式。 Vue应该怎么传递呢?使用 FormData 对象。 说明: 主要的解决思路是,要指定上传文件时其他附加信息的 contentType,那么去FormData对象如何指定某个参数的 contentType属性。 参考: https://blog.csdn.net/weixin_44030791/

    2024年02月11日
    浏览(35)
  • 利用java语言中的stream流操作判断一个数组中是否有重复元素

    判断数组中是否有重复元素可以说是每一个编程语言初学者都会遇到的题目,常见的各种搜索算法本文不做赘述了,我们这次介绍的是利用java语言中特有的stream流操作来判断通用类型数组是否包含重复元素。 首先我们声明一个泛型方法: 表明该方法适用于所有类型的数组。

    2024年02月12日
    浏览(32)
  • 前端如何传递Array、Map类型数据到后端

    针对前后端分离的项目,避免不了前端需要传递Array、Map类型的数据到后端,那么要怎么实现这种情况的参数传递呢?请看下文分说。 前端有Map类型数据如下: 将Map类型数据转化成String,再进行传递 将前端传过来的String数据,解析为JSON对象,再强制转为java的Map 以上。本文

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包